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); //一个函数
}
输入一次运行正常,但到第二次,就
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
