wyd264699424 发表于 2018-11-14 23:27:59

while循环中scanf的输入无用?

本帖最后由 wyd264699424 于 2018-11-14 23:31 编辑

#include"stdio.h"
int main()
{
        int a,b,c;
        char ch;
        c=0;
        scanf("%d",&a);
        printf("Please guess the number between 1 and 10: \n\n");

        while(c>=0&&c<=5)
        {
                scanf("%d",&b);
                if(b>a)
                {
                        c+=1;
                        printf("Too big.\nTry again:\n\n");

                }
                else if(b<a)
                {
                        c+=1;
                        printf("Too small.\nTry again:\n\n");
                }
                else if(b=a)
                {
                        c=c+1;
                   if(c==1)
                        {
                                printf("Bingo!\n");
                                printf("Do you wanna play again? If yes, press Y or y. Otherwise press N or n.");
                                scanf("%c",&ch);
                                if(ch=='Y'||'y')
                                {
                                        c=0;
                                }


                        }
                        else if(c>1&&c<=3)
                        {
                                printf("Lucky you!\n");
                                printf("Do you wanna play again? If yes, press Y or y. Otherwise press N or n.");
                                scanf("%c",&ch);
                                if(ch=='Y'||'y')
                                {
                                        c=0;
                                }


                        }
                        else if(c>3&&c<6)
                        {
                                printf("Good Guess!\n");
                                printf("Do you wanna play again? If yes, press Y or y. Otherwise press N or n.");
                                scanf("%c",&ch);
                                if(ch=='Y'||'y')
                                {
                                        c=0;
                                }

                               
                        }

                       
                }

        }
        printf("Game over");
        return 0;
}
怎么在执行这条语句:scanf("%c",&ch);时停下,等字符输入完毕在循环?

~风介~ 发表于 2018-11-15 00:42:54

c忘记得差不多啦,辛苦仙仙啦~{:10_254:}@拈花小仙

BngThea 发表于 2018-11-15 09:08:44

上次使用的scanf时在输入流中还保留着空格,回车之类的符号,所以会直接读取,需要对输入流进行清空
页: [1]
查看完整版本: while循环中scanf的输入无用?