我正在用C編寫一個簡單的程序來分配兩個單獨的用戶輸入來分隔數組,然後連接數組。用戶輸入被分配給單獨的數組(c)
但是,我發現如果在用戶輸入的字符串中包含一個空格,則一個字被分配給數組1,而另一個字被分配給數組2.我的代碼如下所示。
char str1[SIZE];
char str2[SIZE];
char str3[SIZE2];
printf("Enter a string: ");
scanf("%s", str1);
printf("\nEnter another: ");
scanf("%s", str2);
printf("\n\nInput 1: %s\n", str1);
printf("Input 2: %s\n", str2);
如可以看到的,如果空間是在所述第一的scanf(輸入)的第二scanf()的是 '跳過' 和字被分拆結構成STR1 []和STR2 [] 。我想知道是什麼原因造成的,是否有更完美的方式來實現我的目標?
尺寸定義爲50至size2 100
我猜,閱讀手冊頁的時間可以看出'%s'格式的行爲。 –