質問編集履歴

1

誤植の訂正、自分の考えの追加

2023/04/29 09:50

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -3,7 +3,8 @@
3
3
  以下のコード<コード内容>を実行した結果、<実行結果>の結果が出てまいりました。
4
4
  どのように改善する必要があるのかご教授いただけませんでしょうか?行き詰っております。
5
5
 
6
+ <実現したいこと>
6
- 実現したいこと:"$$$$$"を読み込んだら、その時点で読み込みを終了し、"$$$$$"より前に入力されたすべての文字列を表示すること。
7
+ "$$$$$"を読み込んだら、その時点で読み込みを終了し、"$$$$$"より前に入力されたすべての文字列を表示すること。
7
8
 
8
9
  <コード内容>
9
10
  #include <stdio.h>
@@ -17,14 +18,15 @@
17
18
  {
18
19
  printf("s[%d]:", i);
19
20
  scanf("%s", s[i]);
20
-
21
+ count_max++;
22
+
21
23
  if (s[i] == "$$$$$")
22
24
  {
23
25
  break;
24
26
  }
25
27
  }
26
28
 
27
- for (int i = 0; i < NUMBER; i++)
29
+ for (int i = 0; i < count_max; i++)
28
30
  {
29
31
  // $$$$$よりも前に入力されたすべての文字列s[i]を表示する
30
32
  if (s[i] == "$$$$$")
@@ -49,3 +51,6 @@
49
51
  s[2]=$$$$$
50
52
  s[3]=oiuyt
51
53
  s[4]=ertyu
54
+
55
+ <自分の予想していた動作>
56
+ s[2]で"$$$$$"を入力したので、s[2]までの読み取りで終了し、表示がs[2]まで行われると思っておりましたが、s[3], s[4] までの入力をもとめられ、また表示がなされました。