C语言问题,急急急

[复制链接]
查看11 | 回复2 | 2009-6-28 12:47:04 | 显示全部楼层 |阅读模式
错误在于这句:scanf("%.1f", &gallon); gallon是float型的,而你在保存的时候要强制把它转化成.1f型,类型不匹配会产生一个不可预料的数。而由此还引发一个问题就是回车键滞留在输入流中,所以当第二个scanf执行时会先遇到'\n'等不到你输如内容就直接回车换行了。建议scanf函数的类型要严格匹配,如果你想小数点保留1位,可以在printf中限制。综上分析,改动就容易啦:将scanf("%.1f", &gallon); 改成scanf("%f", &gallon);注意有两处要改,while上面一处,while循环里也有一处哦。...
回复

使用道具 举报

千问 | 2009-6-28 12:47:04 | 显示全部楼层
........... 你就一个main函数 写个return 0干嘛? 我想起来了 你别用scanf输入了
在你的循环体中遇到第一个scanf读入数据这时是对的但因为你按回车输入数据的时候第二个scanf会把回车作为字符读入读入 结果程序运行不对...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行