<質問内容>
『新・明解C言語 入門編』(柴田望洋)の演習9-3の問題に挑戦しております。
以下のコード<コード内容>を実行した結果、<実行結果>の結果が出てまいりました。
どのように改善する必要があるのかご教授いただけませんでしょうか?行き詰っております。
<実現したいこと>
"$$$$$"を読み込んだら、その時点で読み込みを終了し、"$$$$$"より前に入力されたすべての文字列を表示すること。
<コード内容>
#include <stdio.h>
#define NUMBER 5
int main(void)
{
char s[NUMBER][120];
for (int i = 0; i < NUMBER; i++) { printf("s[%d]:", i); scanf("%s", s[i]); count_max++; if (s[i] == "$$$$$") { break; } } for (int i = 0; i < count_max; i++) { // $$$$$よりも前に入力されたすべての文字列s[i]を表示する if (s[i] == "$$$$$") { break; }else { printf("s[%d]=%s\n",i, s[i]); } } return 0;
}
<実行結果>
s[0]:qwert
s[1]:asdfg
s[2]:$$$$$
s[3]:oiuyt
s[4]:ertyu
s[0]=qwert
s[1]=asdfg
s[2]=$$$$$
s[3]=oiuyt
s[4]=ertyu
<自分の予想していた動作>
s[2]で"$$$$$"を入力したので、s[2]までの読み取りで終了し、表示がs[2]まで行われると思っておりましたが、s[3], s[4] までの入力をもとめられ、また表示がなされました。
0 コメント