Онлайн компилятор C

#include <stdio.h> int main() { int n, m = 0,a; scanf("%d",&n); while(n!=0){ a=n%10; n=n/10; m=m+a; } printf("%d",m); return 0; }
这段代码的功能是:读取一个整数,然后计算它各位数字之和,并输出结果。程序通过循环不断取出最后一位数字,累加到变量m中,同时去掉最后一位,直到n变为0。

- 代码逻辑是正确的,但需要注意:如果输入的是负数,循环条件 `n!=0` 会一直成立(因为负数取模结果可能为负),导致结果不正确。你可以思考一下如何处理负数的情况。
- 另外,变量 `a` 和 `m` 的命名不够清晰,建议使用更有意义的名字,比如 `digit` 和 `sum`,这样代码更容易理解。