“21天好习惯”第一期-8

 

 这个程序运行结果显然不对,发生这种错误的原因是因为数据没有被正确输入,先看看是怎么输入数据的。当程序提示输入数据时,首先输入一个整型数4,紧接着输入回车,然后输入数据9.程序就结束了。输入的整型数4被scanf函数正确读入,然而输入的回车却被scanf函数用c格式符都给了变量character。

这说明在用%c格式符读入字符时,空格字符和转义字符(包括回车和制表符)都会作为有效字符输入。

 

以上为解决方法之一,也是较好的方法。

即在%c前面加一个空格,将前面的数据输入时存于缓冲区中的回车符读入,避免被后面的字符型变量作为有效字符读入。

还有一种方法就是用函数getchar()将前面数据输入是存入缓冲区的回车符读入,避免被后面的字符型变量作为有效字符读入。

就程序的可读性而言,第一种方法较好。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值