在线编译器 C

#include <stdio.h> int main() { int a; if (scanf("%d", &a )== 1) { int sum=0; if (a==0) { sum=0; }else{ while(a>0){ sum+=a%10; a/=10; } } printf("%d\n",sum); } return 0; }
这段代码的功能是:从用户输入读取一个整数,然后计算这个整数各位数字之和,最后输出结果。例如输入123,输出6(1+2+3)。

- 代码只处理了正整数的情况(while(a>0)),如果输入负数,循环不会执行,sum保持为0,直接输出0。但负数的各位数字之和通常应该如何处理?比如-123,各位数字之和可能是6还是-6?这取决于题目要求。
- 当输入0时,代码直接输出0,这是正确的,因为0的各位数字之和就是0。但注意,如果输入的是负数,比如-10,程序会输出0,这可能需要根据题目要求调整。