这是我的代码与fgets()不按预期
int main(){
int N,i,radius,diameter,count =0;
char str[20];
char color[N][20];
printf("Get the num : ");
scanf("%d",&N);
printf("Enter the mesage\n");
for(i=0;i<N;i++){
fgets(color[i],20,stdin);
}
for(i=0;i<N;i++){
printf("%s",color[i]);
}
return 0;
}
由于输入是:
N = 3
red 50,
50 green,
blue 50
这里的问题是fgets
在for循环中,如果N
是3被执行,只有两次。如果我评论scanf
声明,则不会出现此问题。有人可以解释我是什么导致这个问题,以及它如何解决?
'的scanf( “%d%* C”,&N);炭色[N] [20]; ' – BLUEPIXY
让我看看你给出的确切的三个输入 –
问题是你正在使用'scanf'作为用户输入 – melpomene