问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言循环里scanf用不了

发布网友 发布时间:2022-07-13 05:43

我来回答

2个回答

热心网友 时间:2022-07-13 05:44

肯定是因为game()函数里有scanf语句,并且scanf之后没有处理scanf留下的换行符。

scanf从屏幕是读取数据时,往往不会自动读掉行尾的换行符(你输入数据后,肯定会按一个回车的对吧),所以在game函数里的最后一个scanf结束后,输入缓冲区里还一个换行符在里面,这个时候main函数里的scanf函数读到的字符就是那个换行符

解决方法:
在game函数的最后一个scanf函数后面,加上一个gets语句,用来读掉最后一个换行符即可,当然如果你的输出里敲了多个回车,就要执行多句,不懂可以贴上你的game()函数和你上面的输入,我再告诉你

热心网友 时间:2022-07-13 05:45

输入y后,回车也是一个符号,第二次直接就跳出循环了,你可以这么写

int count=0;
char answer='y';
while(1)
{
if(answer=='y')
printf("another(y/n)");
scanf("%c",&answer);
if(answer=='y')
{
count++;
}
else if(answer=='n')
{
break;
}
}

printf("%d\n",count);

追问我也有这么写过,仍然不行的。

C语言循环里scanf用不了

肯定是因为game()函数里有scanf语句,并且scanf之后没有处理scanf留下的换行符。scanf从屏幕是读取数据时,往往不会自动读掉行尾的换行符(你输入数据后,肯定会按一个回车的对吧),所以在game函数里的最后一个scanf结束后,输入缓冲区里还一个换行符在里面,这个时候main函数里的scanf函数读到的字符就...

C语言-循环里第二个scanf不能输入内容

这个原因是由于输入数字之后的回车符号引起的;可以在scanf ("%c", &option)之前,或者scanf ("%d", &sum)之后加一句fflush(stdin)来刷新缓冲区进行解决,也可以用getchar()获得一个字符来解决该问题。

C语言中用scanf("%c",&ch);程序会出错,如果scanf(" %c",&ch);在%c...

清空输入缓冲区。如果经常出现情况这种的话,第一次输入的回车可能会被第二次输入操作所捕捉,这个的作用就是清空缓冲,这样就不会出现这种情况了。控制串中的空白符使 scanf() 在输入流中跳过一个或多个空白行。空白符可以是空格(space)、制表符(tab)和新行符(newline)。 本质上,控制串中的空白...

在C语言中,为什么我的一个 scanf代码在第二次循环操作时,那步骤不执...

因为scanf输入要按回车,输入一个字符后回车,计算机实际上接收了两个字符,即:字符+回车。试一下flushall(); or fflush(stdin);

C语言scanf语句导致无法进入循环?

问题也很简单,就是在第一个scanf函数的时候,你是按了回车的,所以第二次使用scanf的时候,fgets直接吃掉了回车,这是我们不需要的,所以在这个之前,我们必须先把stdin输入流里的回车,清理掉,使用fflush函数一次清理了stdin输入流,等stdin输入流干净了之后,再调用fgets就不会出错了,当然也可以使用...

C语言的scanf怎么没执行?

这是因为在上一次使用scanf后没有清空输入缓存, 这样你再次使用scanf的时候函数就可能会认为你已经输入过了。解决这一问题的最简单办法是在接收字符的scanf的控制符"%c"中的%前加一个空格写成" %c",把前一次输入遗留在输入缓冲区里的所有广义空格(' '、'\t'、'\n'等)都吸收掉。

c语言scanf无法写入字符

当运行输入字符串s后会以回车结束,而以上代码第5行scanf_s不会读入回车符,回车符被代码第7行getch读入,因此输出结果不会保留,程序直接结束。

C语言。为什么在调用函数中用了scanf.之后主函数的scanf和printf语句就...

虽说意义不明,所以,你在操作过程中有按回车键,这个操作会进入输入流,被后面那个scanf("%c",&ch);读取了,ch读取了回车,因此表现为Press any key to continue之前会有一次回车,实际上执行过。

c语言用scanf( )时遇到一个难题

其次,当输入了多于3个数时, scanf只转换了前三个, 后边的会留在输入流中,等下一个输入语句读取。 这个倒是容易解决:可调用fflush(stdin);清空输入流。我想了个小巧解决你的这个需求。 以下代码给你参考 int a,b,c,lost;char buf[100];while(1){ gets(buf);// 这里用了个小花招,增加...

C语言关于for循环中使用scanf连续输入的问题or not,求大神看看代码...

include <stdio.h>int main(){int n,i,a,b;int d[100];scanf("%d",&n);for(i=0;i<n;i++){scanf("%d %d",&a,&b);d[i]=(a*b);} for(i=0;i<n;i++){printf("%d\n",d[i]);}return 0;}

c语言scanf循环输入怎么结束 c语言scanf和printf scanf是不是c语言关键字 scanf在c语言中的用法 for循环不需要scanf 用for循环scanf输入字符串 c语言scanf_s c语言gets和scanf while循环里面scanf
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
波浪号“~”的英文符号是什么? 特殊符号"●"是什么符号啊? 请教请教,各位老司机? 请问各位老司机迈凯? 出了个小事故,请教各位老司机? 小白请教各位老司机们个问题? 各位老司机请教下,第二年车险去哪买合适? 各位老司机,我想请教一些关于提车时的问题。? 请问下老司机有没有必要报保险? 请教买保险事宜,各位老司机指点一下。? 为什么用scanf没有错误确输不出来想要到的? do cause damage to doing还是do cause damage to do 森林防火几头几边 未成年与监护人的关系到几岁解除 广州不明觉厉网络科技有限公司怎么样? 南京不明觉厉网络服务中心怎么样? 深圳市不明觉厉科技有限公司怎么样? 北京不明觉厉文化传媒有限公司怎么样? 描写荷花和菊花的诗句有哪些? 苏轼的《密州出猎》的词牌名是什么?是江城子还是江神子? 苏轼的词中有"清欢"二字的有几首,分别是什么? 报关一般都什么时候报 最佳出口报关的时间 多少岁不需要监护人 小学生努力上进的句子 你们知道鄂州的气候是什么样的吗?这种气候可以种什么花?市花市树是什么? 玩游戏赚钱应该去哪个试玩平台最好 打DOTA 哪个游戏平台 最好 当我玩cf的时候他老是闪退,然后我就去腾讯游戏平台去修复,结果他说IE缓存有问题。怎么办啊? 那个游戏平台能玩流星蝴蝶剑? 热水泡脚对胃寒和胃酸有好处吗? 只要 就 好像怎么造句 ……只要……就……好像……造句 用多 不断地 就好像造句 液晶显示器没有高清接口,可是主机只有高清接口,怎么解决? 电脑有hdmi接口显示器没有怎么办 角磨机切铁皮碎渣进眼里怎么办 角磨机能不能切割白口铸铁? 扬州哪有zara专卖啊 扬州有没有ZARA 扬州京华城有没有HM、Zara 专卖 扬州有ZARA和H&M么? 扬州京华城一楼有哪些服装品牌 喜字可以组成abb式的哪个词语 喜字开头a b b的词语 喜字打头的abb式的 几岁可以脱离监护人关系 陕西武鑫钢结构工程有限公司怎么样? 陕西龙辉钢结构工程有限公司靖边分公司怎么样? 陕西鸿社钢结构工程有限公司怎么样?