C++编程 我的程序出错,输入 1 y时会输出0.8而不是2.8.为什么呢?

[复制链接]
查看11 | 回复4 | 2011-10-18 10:13:52 | 显示全部楼层 |阅读模式
#include int main(){double a,b;char c,n;scanf("%lf %c",&a,&n);//这里用n来存放Y,而下面用c进行比较。if(a>1)
b=a*0.5+0.3;else{ b=0.8;}if(c=='y') b=b+2; //这里是c上面是n。printf("%g",b);
return 0;}...
回复

使用道具 举报

千问 | 2011-10-18 10:13:52 | 显示全部楼层
scanf("%lf %c",&a,&n);char c并没有值,你后面if(c=='y') b=b+2;这个判断是不会生效的。你改为n==‘y’,估计就可以了...
回复

使用道具 举报

千问 | 2011-10-18 10:13:52 | 显示全部楼层
你把y存入了n,跟c没关系啊,所以你的if(c=='y') b=b+2;是不会执行的...
回复

使用道具 举报

千问 | 2011-10-18 10:13:52 | 显示全部楼层
#include int main(){double a,b;char c,n;scanf("%lf %c",&a,&n);if(a>1)
b=a*0.5+0.3;else{ b=0.8;}if(n=='y') b=b+2;printf("%g",b);...
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行