Online Compiler C

#include <stdio.h> int main() { int n,sum; scanf("%d",&n); sum=0; while(n!=0) sum+=n%10; n=n/10; printf("%d",sum); return 0; }
这段代码试图计算一个整数各位数字之和,但存在逻辑错误。当前代码中,`while`循环只包含了`sum+=n%10;`这一行,而`n=n/10;`在循环体外,导致循环永远不会更新`n`的值,从而陷入死循环或无法正确计算。

- 检查`while`循环的代码块范围。在C语言中,如果没有花括号`{}`,循环体默认只包含紧随其后的第一条语句。你需要确保`n=n/10;`也在循环体内。
- 思考循环的终止条件:当`n`变为0时循环结束。如果`n`不更新,循环条件永远为真,程序会无限执行。