Online Compiler C

#include <stdio.h> int main() { int x, digit, counter_even = 0, counter_odd = 0; scanf("%d", &x); while(x>=1){ digit = ( x%10 )%2; if(digit==0){ counter_even++; }else{ counter_odd++; } x = x/10; } printf("%d %d\n", counter_even, counter_odd) return 0; }
这段代码的作用是读取一个整数,然后统计这个整数中每一位数字是偶数的个数和奇数的个数,最后输出这两个统计结果。代码的思路是通过循环不断取出最后一位数字,判断其奇偶性并计数,然后去掉最后一位。

- 代码中有一处语法错误:`printf` 语句末尾缺少了分号,导致程序无法编译通过。
- 循环条件 `while(x>=1)` 在处理负数或零时可能不符合预期,因为负数或零不会进入循环,但题目通常要求处理非负整数,这里需要确认输入范围。