私はこのコードを持っています
whitespaces は int 型なので、getchar 関数を使用できます
do
{
...code...
whitespaces=getchar();}
while ( whitespaces != (EOF) || whitespaces!='\n');
しかし、CTRL + Zを押してもループを終了しません(Windows 7を使用しています)
私は何を間違っていますか?
編集:ありがとう、皆さん...!非常に役立ちます
私はこのコードを持っています
whitespaces は int 型なので、getchar 関数を使用できます
do
{
...code...
whitespaces=getchar();}
while ( whitespaces != (EOF) || whitespaces!='\n');
しかし、CTRL + Zを押してもループを終了しません(Windows 7を使用しています)
私は何を間違っていますか?
編集:ありがとう、皆さん...!非常に役立ちます
&&
条件の代わりに||
使用する必要がありますwhile
。
あなたの状態は正しくありません:
while ( whitespaces != (EOF) && whitespaces!='\n');
\n は自動的に EOF とは異なり、その逆も同様です。
を に変更してみて||
ください&&
。現在、if whitespaces
is equal toEOF
は改行ではないため、while 条件は常に true です。これはおそらくあなたが望むものではありません。