我创建了一个代码,它将输出您为每个数字输入 -1 的次数。 我试图用 int count[10]; 来声明和 int count[10]={0};。然而,声明时和初始化时都会产生正确的结果。 你能告诉我初始化为 0 和不初始化有什么区别吗?
#include <stdio.h>
int main(){
int count[10];
int i,num;
while(1){
scanf("%d", &num);
if(num==-1){
break;
}
if(num>=0 && num<=99){
if (num<10){
count[num]++;
}
else{
count[num/10]++;
count[num%10]++;
}
}
}
for(i=0; i<10; i++){
printf("%d : %d\n", i,count[i]);
}
return 0;
}
如果不初始化,则值
count[0]
(等)不确定。您的代码之所以有效,是因为当您运行它时,它发生为零,但这并不能保证(除了static
变量)。