Online Compiler C

#include <stdio.h> int digit_sum(unsigned int n) { int sum = 0; while (n > 0) { sum += n % 10; n /= 10; } printf("%d",sum); return 0; } int main() { digit_sum(1234); return 0; }
这段代码定义了一个函数 `digit_sum`,它本应计算一个无符号整数的各位数字之和,但函数内部直接打印了结果并返回了0,而不是返回计算出的和。主函数调用了这个函数,但没有使用返回值。

- 函数 `digit_sum` 的返回值是固定的0,而不是计算出的数字和。你应该让函数返回 `sum` 而不是0,这样调用者才能得到结果。
- 主函数中调用 `digit_sum` 后没有输出或使用返回值。如果函数正确返回了和,你需要在主函数中打印或使用这个返回值。