這是我的代碼與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