我有一个代码,我想知道scanf()与直接初始化整数之间的区别是什么。 当我编译这段代码时:
for(u=0;u<reihen;u++){
fgets(a,MAX,stdin);
k = strlen(a)-1;
printf("Value of k: %d\n",k);
for(z=0;z<k;z++){
}
}
printf("hello");
}
初始化“reihen”
scanf("%d",&reihen);
代码会跳过fgets(a,MAX,stdin);
以及除k = strlen(a)-1;
和printf("Value of k: %d\n",k);
之外的其余代码,但仅针对第一个电路。然后代码工作正常。
当我像reihen
一样直接初始化reihen = 2;
时
它没有跳过任何东西。
有人可以解释一下吗?