这个就是不对齐的结果
1234 1234
123 123
--------- ---------
1358 2464
给你提个思路,就是反序后,那么个位和个位就对上了,计算完成后,在反序回来,呵呵
反序用strrev函数
中心思路,个位先加
c[0]=a[0]+b[0];
用for处理中间各位,注意要加上上一位的进位,并上一位取一位
for(i=1;i
c[i]=a[i]+b[i]+c[i-1]/10;
c[i-1]%=10;
}
最后要处理最高位
如果大于9,那么再加一位
if(c[k-1]>9)
{
c[k-1]%=10;
c[k]=1;
k++;
}
最后int变char,注意要加上\0结束符
反序回来就是结果
字符串应该先逆序处理
编着编着就晕了!
如果是向右进位:
输入:123 输入1234
可以编一个函数把字符串转为数 如n=(‘1’-'0')*100+('2'-'0')*10+('3'-'0'); 运算完后再逆转换一次就行了,不用那么纠结;
按照字符相加,注意'8’!='4'+'4' , 应该是'8'='4'+'4'-'0' ;
还有两串位数相同进位时要注意。
自己写去