Online Compiler C

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

- 代码没有处理负数的情况。如果输入负数,循环条件 `a > 0` 会直接跳过,导致输出0,但负数的各位数字之和通常也应该计算(例如 -123 的各位和是 1+2+3=6)。你可以考虑如何让程序也能正确处理负数。
- 变量 `a` 在循环中被修改,导致输入值丢失。如果后续需要保留原始输入值,可以另外用一个变量来保存。