在线编译器 C

#include <stdio.h> int is_even_digit_sum(int n) { int sum, b; while (n > 0) { b = n % 10; sum += b; n = n / 10; } if (sum % 2 == 0) return 1; else return 0; } int main() { printf("%d", is_even_digit_sum(136)); return 0; }
这段代码定义了一个函数 `is_even_digit_sum`,它计算一个整数的各位数字之和,然后判断这个和是否为偶数。如果是偶数,函数返回1,否则返回0。主函数用136作为例子来测试这个函数。

- 变量 `sum` 没有初始化,它的初始值是不确定的,这会导致求和结果错误。在使用 `sum` 之前,应该先给它赋一个初始值。
- 变量 `b` 其实不是必需的,可以直接把 `n % 10` 加到 `sum` 上,这样代码会更简洁。