c语言出现常量中的换行符出错,C语言中换行符问题

在缓冲输入中,换行符的确是个麻烦的问题,在这里做一个总结。

1.getchar()

记住:getchar()函数 读取每一个字符!每一个!包括空格,制表符和换行符。

错误代码:

while(getchar()!=‘y’)

printf(“Well,then it is %d?\n”,++guess);

这里会出现输入一个n,但是出现两句“Well……”

原因是因为换行符也被传输进去了。

换行符当然不等于’y’,所以输出两次!

正确代码:

while(getchar()!=‘y’)

{

printf("………");

while(getchar()!=’\n’)

continue;

}

2.scanf()

记住:scanf()读取数字时会跳过空格,制表符和换行符。并且是把换行符 留在输入队列中!是留在!!!

如果读取数字时,你输入了非数字的字符,那么它也是把它留在输入队列!是留在!!!

错误代码:

while((ch=getchar())!=’\n’)

{

scanf("%d %d",&a,&b);

display(a,b,ch); //一个函数

}

输入一次运行正常,但到第二次,就


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部