Cで簡単なプログラムを書いて、別々のユーザー入力を割り当てて配列を連結します。ユーザー入力が別々の配列に割り当てられています。(c)
しかし、ユーザー入力の文字列にスペースが含まれていると、1ワードが配列1に割り当てられ、もう1ワードが配列2に割り当てられることが分かりました。空間は最初のscanf(で入力された場合、図から分かるように
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);
)は、第2のscanf() 'スキップ' して、単語をSTR1にsparatedさ[]とstr2 []は。私はこれを引き起こしているのだろうと私の目標を達成するよりエレガントな方法があるのだろうか?
SIZEはスペースscanf("%[^\n]s", str1);
を使用して、あなたのプログラムが動作すると、文字列の入力を取るために100
'%s'形式の動作を確認するには、マニュアルページを読む時間がかかるでしょう。 –