为什么需要俩次printf怎么用?

每次重新输入之前需要使用while(getchar()!='\n');将缓存中的数据全部取出来

否则如果scanf读取出错的话,未读取的数据还是在缓存里导致下一次读取后,判断为输入有误

}

·请打开微信扫描下方的二维碼,关注圣才电子书微信公众号

·或打开微信,添加朋友→查找公众号→输入“sc100xuexi”添加关注。

}

这个主要是因为你敲入回车符后吔被读入系统了我调整了一下,做了下面的代码你看看是不是你想要的效果?

 

代码原封不动地复制可以正常运行的,你写的没问题

用过C-free,输入不能超过8次不然保证退出,在知道上提问过解决不了,现在问题还挂着呢

补充:你还不相信我,真的是你的编译器异於他人假设你所有的输入是:n回车,(等待语句)na回车,(等待语句)y回车;第一个 getchar()称为外部 get,第二个 getchar()称为内部 get程序的運行应该是这样的:n 被读入外部 get,进入外部循环输出语句,回车被读入内部 get未进入内部循环(第一次输入的结果运行结束),进行下┅次外部循环;n 被读入外部get进入外部循环,输出语句a 被读入内部get,进入内部循环回车被读入内部get,break(第二次输入的结果运行结束)进入下一次外部循环;y 被读入外部 get,循环结束

}

我要回帖

更多关于 printf怎么用 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信