int main(){
int x;
int sum;
printf("Enter a positive integer: ");
scanf("%d", &x);
do{
sum += (x%10);
x=(x/10);
if((x/10)==0){
sum += x;
}
}
while((x/10)!=0);
printf("%d",sum);
}
Run Code Online (Sandbox Code Playgroud)
嘿,我试图让这个在输入的整数中加起来每个数字,但我正在使用的代码不断返回错误的输出.有人请帮我修改我的等式/代码,因为我不确定为什么输出不正确.
在你的代码中
int sum;
Run Code Online (Sandbox Code Playgroud)
未初始化.使用类似的东西
int sum = 0;
Run Code Online (Sandbox Code Playgroud)
注意:局部变量不会自动初始化[to 0或者任何],如果没有显式初始化,它们的内容将是垃圾.因此,使用sum += (x%10);将导致读前写场景,产生错误的结果.