在线编译器 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;
这段代码定义了一个函数 `digit_sum`,用于计算一个无符号整数的各位数字之和,并在函数内部直接打印结果。但代码末尾的 `return 0;` 是孤立的,不属于任何函数,会导致编译错误。

- 函数 `digit_sum` 没有返回值类型,但函数体内没有 `return` 语句,而函数末尾的 `return 0;` 却写在函数外部,这是语法错误。你需要确保 `return 0;` 放在 `main` 函数内部,而不是全局作用域中。
- 函数 `digit_sum` 当前直接打印结果,但通常这类函数应该返回计算出的和,让调用者决定如何使用。你可以考虑让函数返回 `sum` 而不是打印它。