Онлайн компилятор C

#include <stdio.h> int main() { int n; scanf("%d", &n); int save_n; for(int digit = 0; digit <= 9; digit++) { save_n=n; while(n>0) { int inspect; save_n%10=inspcet; int cymma=0 if (digit == inspect) { cymma++; } save_n /= 10; } if (cymma > 1){ printf("%d ", digit); } } return 0; }
这段代码试图找出一个整数中重复出现的数字(出现次数大于1的数字),但代码中有多个语法错误和逻辑问题。

- 第10行 `save_n%10=inspcet;` 赋值方向反了,而且变量名拼写错误。应该是将 `save_n % 10` 的值赋给一个变量,而不是反过来。
- 第11行 `int cymma=0` 缺少分号。
- 变量 `inspect` 在第9行声明但未初始化,在第10行被错误地用作赋值目标,导致未定义行为。
- 循环中每次检查一个数字时,`cymma` 应该重置为0,但它在循环外声明,导致累加错误。

提示:
- 检查赋值语句的方向:等号左边应该是变量,右边是表达式。
- 注意每个语句末尾的分号是否完整。