在线编译器 C

#include <stdio.h> int main() { int n; int num[10]={0}; scanf("%d",&n); while(n>0){ int d=n%10; n=n/10; } for(int i=0;i<=9;i++){ if(count[i]>=2){ printf("%d",i); } } }
这段代码试图找出一个整数中重复出现的数字,但存在几个问题。

代码中声明了数组 `num`,但在循环中从未使用它来记录数字出现的次数。变量 `d` 被计算出来但没有存储。后面又使用了未定义的 `count` 数组,这会导致编译错误或未定义行为。

- 你需要在循环中记录每个数字出现的次数,比如用 `num[d]++` 来增加对应数字的计数。
- 检查重复时,应该使用你实际存储计数的数组(比如 `num`),而不是未定义的 `count`。