質問編集履歴

3

修正

2018/09/08 16:51

投稿

gregolio122
gregolio122

スコア14

test CHANGED
File without changes
test CHANGED
@@ -54,11 +54,11 @@
54
54
 
55
55
  forの継続条件についてですが、単に**i<10**としただけでは、入力された文字列が10文字未満だった場合、
56
56
 
57
- ループが10回まわることで、値が入っていないorおかしな数値の入っている(ここら辺の理解が不十分です)w1[9]やw2[9]の文字が取られてしまい、最終的に、末尾文字が出力されないor?が出力されると思い、継続条件に**w[i]!='\0'**を追加しました。
57
+ ループが10回まわることで、値が入っていないorおかしな数値の入っている(ここら辺の理解が不十分です)w1[9]やw2[9]の文字が取られてしまい、最終的に、末尾文字が出力されないorが出力されると思い、継続条件に**w[i]!='\0'**を追加しました。
58
58
 
59
59
  このように書けば、たとえば、配列変数w1[]に格納されている文字列がkakiであった場合、4文字目のiの次の配列要素は空文字(つまり'\0')であり(自信がないですが)、kakiはそれぞれ1つずつ順番に配列変数w[0]~w[3]に格納されているので、このループの最終回は、初めて空文字が配列に格納されるとき、すなわち、変数iが4の時となる。
60
60
 
61
- そしてループが終了されるとi++により、さらにiが1足され、i=5となる。なので、ループを抜けたあとにiから2引いてあげる。
61
+ そしてループが終了されるとi++により、さらにiが1足され、i=5となる。なので、ループを抜けたあとにiから2引いてる。
62
62
 
63
63
  そうすることで、空文字の前の文字、つまり、その文字列の末尾文字が取得出来る、と考えたのですが…
64
64
 

2

文章修正、補足

2018/09/08 16:51

投稿

gregolio122
gregolio122

スコア14

test CHANGED
File without changes
test CHANGED
@@ -66,17 +66,17 @@
66
66
 
67
67
  ###期待と実行結果
68
68
 
69
- 実際はそう思う通りはいきせんでした。
69
+ 実際にこのコードを実行してみました。
70
70
 
71
71
  標準入力にて
72
72
 
73
- w1を__abcdefghij__
73
+ w1を__abcdefghij__(10文字)
74
74
 
75
- w2を__aiueokaki__
75
+ w2を__aiueokaki__(8文字)
76
76
 
77
77
  としたのですが、
78
78
 
79
- 結果は
79
+ その結果は
80
80
 
81
81
  ```
82
82
 
@@ -86,7 +86,7 @@
86
86
 
87
87
  ```
88
88
 
89
- というものになってまいました。
89
+ というものした。
90
90
 
91
91
  この結果は不可解です。
92
92
 

1

ちょっとした文章修正を行いました

2018/09/08 16:50

投稿

gregolio122
gregolio122

スコア14

test CHANGED
File without changes
test CHANGED
@@ -56,7 +56,7 @@
56
56
 
57
57
  ループが10回まわることで、値が入っていないorおかしな数値の入っている(ここら辺の理解が不十分です)w1[9]やw2[9]の文字が取られてしまい、最終的に、末尾文字が出力されないor?が出力されると思い、継続条件に**w[i]!='\0'**を追加しました。
58
58
 
59
- このように書けば、たとえば、配列変数w1[]に格納されている文字列がkakiであった場合、4文字目のiの次の配列要素は空文字(つまり'\0')であり(自信がないですが)、kakiはそれぞれ1つずつ順番に配列変数w[0]~w[3]に格納されているので、このループの最終回は、初めて空文字が配列に格納される変数iが4の時となる。
59
+ このように書けば、たとえば、配列変数w1[]に格納されている文字列がkakiであった場合、4文字目のiの次の配列要素は空文字(つまり'\0')であり(自信がないですが)、kakiはそれぞれ1つずつ順番に配列変数w[0]~w[3]に格納されているので、このループの最終回は、初めて空文字が配列に格納されるとき、すなわち、変数iが4の時となる。
60
60
 
61
61
  そしてループが終了されるとi++により、さらにiが1足され、i=5となる。なので、ループを抜けたあとにiから2と引いてあげる。
62
62