在C中编程以对整数中的每个数字求和

bob*_*hka 1 c algorithm

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)

嘿,我试图让这个在输入的整数中加起来每个数字,但我正在使用的代码不断返回错误的输出.有人请帮我修改我的等式/代码,因为我不确定为什么输出不正确.

Sou*_*osh 6

在你的代码中

int sum;
Run Code Online (Sandbox Code Playgroud)

未初始化.使用类似的东西

int sum = 0;
Run Code Online (Sandbox Code Playgroud)

注意:局部变量不会自动初始化[to 0或者任何],如果没有显式初始化,它们的内容将是垃圾.因此,使用sum += (x%10);将导致读前写场景,产生错误的结果.