开发者

为什么printf语句连续运行中间的scanf没弹出来??

就四辣么拽丶 2021-11-18 19:11

开发者_StackOverflow 输入第一个字符并以空格结束输入后,该字符与’\n’会一起进入标准流输入,’\n’便会作为第二个scanf语句的内容输入,从而让你的程序出现问题。   加空格便会屏蔽空白字符(上次内存中的‘\n'和其它转义字符):%c前没空格,scanf()将读取标准输入流中的第一个字符,%c前有空格,scanf()则读取标准输入流中第一个非空白字符。


吃瓜开发者_如何学JAVA群众在楼里 2021-11-18 19:15

应该是这个scanf读取了上一个输入的回车当成输入字符了。在这个scanf之前加上fflush(stdin),或者将scanf的"%c"改为" %c"(%前加个空格),执行就正确了。


0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜