你的程序算法沒錯(cuò),只是計(jì)算輸入值的位數(shù)時(shí)有兩處問題。
改正的程序如下(改動(dòng)的地方見注釋)
#include <stdio.h>
#include <stdlib.h>
int main(){
int a,b,c,d,i=1,u,s=0,k=1,j,p;
scanf("%d%d",&a,&b);
u=a;//這里加一句,為u賦值a
while(u>=10){
u=u/10;//這里把u=a/10改成u=u/10
i=i+1;
}
for(p=1;p<=i;p++){
c=a%10;
d=b%10;
a=(a-c)/10;
b=(b-d)/10;
j=(c+d)%10;
s=s+k*j;
k=k*10;
}
printf("%d",s);
return 0;
}