当前位置: 代码迷 >> C语言 >> if的使用问题(新手)
  详细解决方案

if的使用问题(新手)

热度:113   发布时间:2007-11-03 21:01:53.0

----------------解决方案--------------------------------------------------------
小问题啊!仔细!
----------------解决方案--------------------------------------------------------
这个是键盘缓冲问题````

详细请看```: http://bbs.bc-cn.net/viewthread.php?tid=175005&star=at#

希望楼住仔细看看```加深理解```看了后相信你就明白多了```以后这个问题很难再出现了``


----------------解决方案--------------------------------------------------------
while(getchar() != '\n');
----------------解决方案--------------------------------------------------------
以下是引用chendsily在2007-11-3 9:36:08的发言:
#include <stdio.h>
int main()
{
float a,b,c,s,v;
printf("请输入a");
scanf("%f",&a);
printf("请输入b");
scanf("%f",&b);
s=a+b;
v=a*b;
char t; 
printf("输入1求和,输入2求积");
scanf("%f",&t);
if(t=='1')     //字符'1'不等于 数字1
printf("%f",s);
else if(t=='2')  //字符'2'不等于 数字2
printf("%f",v);
else
printf("wrong");

}


就是想输入1就输出s,2就输出v,编译没出错,但是就是得不到想要的结果,是不是哪里写错了,帮帮忙,我新手


----------------解决方案--------------------------------------------------------

以下是引用chendsily在2007-11-3 9:36:08的发言:
#include <stdio.h>
int main()
{
float a,b,c,s,v;
printf("请输入a");
scanf("%f",&a);
printf("请输入b");
scanf("%f",&b);
s=a+b;
v=a*b;
char t;
printf("输入1求和,输入2求积");
scanf("%f",&t);
if(t=='1')
printf("%f",s);
else if(t=='2')
printf("%f",v);
else
printf("wrong");

}


就是想输入1就输出s,2就输出v,编译没出错,但是就是得不到想要的结果,是不是哪里写错了,帮帮忙,我新手

把char t放到;float a,b,c,s,v;的下面。
试试看.
你下面的输入scanf("%f",&t);你定义的是字符型.怎么能弄成浮点型?


----------------解决方案--------------------------------------------------------
#include <stdio.h>
int main()
{
int t;
float a,b,c,s,v;
printf("请输入a");
scanf("%f",&a);
printf("请输入b");
scanf("%f",&b);
s=a+b;
v=a*b;
printf("输入1求和,输入2求积");
scanf("%d",&t);
if(t==1)
printf("%f",s);
else if(t==2)
printf("%f",v);
else
printf("wrong");
getch();
}
----------------解决方案--------------------------------------------------------
  相关解决方案