4

次のコードを実行すると、非常に奇妙な結果が得られます。

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    for ( ; ; )
    {
         char test;
         printf("Please enter 'w' ");
         scanf("%c", &test);
         printf("%c\n", test);
         if (test == 'w')
         {
              printf("Working\n");
         }
         else
         {
              printf("ERROR\n");
              return 0;
         }
     }
}

私がやりたいのは、「w」を入力するたびにループを継続して、「w」を再度入力できるようにすることです。「w」を入力しても、elseステートメントに移動します。行をスキップするようscanf()です。C を知っている知り合い全員に尋ねましたが、解決方法がわかりません。

誰かここで私を助けてください!

4

4 に答える 4

1

Jens が言うように、消費する必要があります'\n'getchar()scanf()

于 2013-05-30T10:26:52.287 に答える