文字列 " A = B" を読み取り、変数の配列で B を検索するプログラムを作成する必要があります。B が見つからない場合は、その値を尋ねて別の配列に入れます。アイデアが明確かどうかはわかりませんが、例を次に示します。
while(1){
printf("Get string\n");
gets(L);
if(L[0]=='\0') break;
if(L[2] == '1') {
printf("Value of 1: ");
scanf(" %lf", &m);
}
}
printf("\nbreak");
Enter キーを押したときにこのプログラムを停止する必要があるため、if(L[0]=='\0') break; を使用しました。それのための。
私の問題は次のとおりです。Bの値を尋ねるたびに、私のプログラムは「ゴースト文字列」Lを読み取ります。つまり、Lの値を入力できず、プログラムが停止します。文字列をほぼ二重に読んでいますが、条件 L[0] != '\0' のために壊れています。私は何を間違っていますか?この条件を削除すると、プログラムは文字列を 2 回入力するように求めずに、「Get string」を 2 回出力します。