質問: 特定の文字が入力されるまで・・・ プログラムで、 a~cの記号が選ばれるまで、 (つまり他の文字が入力されたらもう一度入力しなすようにしたい) 入力コマンドを繰り返す制御文を作りたいのですが 自分で作ってもうまくいきません。 char c; while((c=getchar())!='a'||'b'||'c'){ } 以下はa,b,cのいずれかが入力されたら実行される制御文が続く しかし、実際はa~cを入力しても、 次の制御文に移りません。 どこがおかしいでしょうか? また、正しく動かすにはどうすればよいでしょうか?
回答: ちょっとすっきり。 while ( (c = getchar()) != 'a' && c != 'b' && c != 'c' ) { fprintf(stderr, "re-enter a character\n"); }