0

文字[MAX]という変数があり、文字[1]、文字[2]などの各配列インデックスをスキャンしたいとしましょう。これはどのように行われますか?

forループを次のようにしてみました

for (i = 0; i < MAX; i++)
{
   printf ("Letter: ");
   scanf ("%d", &letters[i]);
}

しかし、これは正しく機能しません。つまり、動作しますが、MAX が何であれ (私のプログラムでは 100) に達するまでスキャンを続け、それを do while ループ while (文字 != 0) に入れようとしましたが、 for の外にありますループし、0 を入力してもループを終了しません。

だから私がやろうとしているのは、scanfユーザー入力を 'ing し、0 が入力されたときにループを終了することによって、各配列変数 (letters[i]) に値を割り当てることですが、試したコードは機能しません。

4

1 に答える 1

2

あなたは付け加えられます

if(letters[i]=='0')
   break;

forループの最後まで。このようにして、入力した文字が 0 文字であるかどうかがチェックされます (したがって、一重引用符が使用されます)。

あなたはで終わる

for (i = 0; i < MAX; i++)
{
   printf ("Letter: ");
   scanf ("%d", &letters[i]);
   if(letters[i]=='0')
      break;
}
于 2012-11-09T03:11:46.803 に答える