回答編集履歴
2
追記
answer
CHANGED
|
@@ -29,5 +29,5 @@
|
|
|
29
29
|
|
|
30
30
|
なお、`scanf("%c",&w[i]);` は改行も読み込みの対象にします。
|
|
31
31
|
そして改行コードが入力された時の処理はなにもしていません。
|
|
32
|
-
たとえば "abcd" "efghijklmnopqrstuv" が入力されたとき、w1 の末尾は i で w2 の末尾は s になります。
|
|
32
|
+
したがって修正済みのコードにて、たとえば "abcd" "efghijklmnopqrstuv" が入力されたとき、w1 の末尾は i で w2 の末尾は s になります。
|
|
33
33
|
二行を改行コードで連結した文字列の最初の 10 バイトが "abcd\nefghi" で、次の 10 バイトが "jklmnopqrs" であるためです。
|
1
追記
answer
CHANGED
|
@@ -23,4 +23,11 @@
|
|
|
23
23
|
|
|
24
24
|
このように変えると、最後の文字が出力されました。
|
|
25
25
|
|
|
26
|
-
`w[i]!='\0'` という条件がついていることにより、読み込みバッファ w[] の中に `'\0'` が含まれていると読み込みがそこでストップします。
|
|
26
|
+
`w[i]!='\0'` という条件がついていることにより、読み込みバッファ w[] の中に `'\0'` が含まれていると読み込みがそこでストップします。
|
|
27
|
+
|
|
28
|
+
###追記
|
|
29
|
+
|
|
30
|
+
なお、`scanf("%c",&w[i]);` は改行も読み込みの対象にします。
|
|
31
|
+
そして改行コードが入力された時の処理はなにもしていません。
|
|
32
|
+
たとえば "abcd" "efghijklmnopqrstuv" が入力されたとき、w1 の末尾は i で w2 の末尾は s になります。
|
|
33
|
+
二行を改行コードで連結した文字列の最初の 10 バイトが "abcd\nefghi" で、次の 10 バイトが "jklmnopqrs" であるためです。
|