scanf("%f,%f,%f",&a,&b,&c);出错,求大神
#include<stdio.h>#include<math.h>#include<iostream>intmain(){doublea,b,c,s,area;print...
#include<stdio.h>
#include<math.h>
#include<iostream>
int main()
{
double a,b,c,s,area;
printf("请按照a,b,c的格式输入三角形的三边长:\n");
scanf("%f,%f,%f",&a,&b,&c);
/*a=3.67;b=6.21;c=5.43;*/
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("%f\n",area);
system("pause");
return 0;
}
按scanf函数调用语句输入数据一直出错,但是用注释里给定数据就不会出错,什么情况?求大神解释。用的编译系统是VS 2008
原来是输入实数类型错了,定义的double型,输入的float型,我把输入指令改为
scanf("%lf%lf%lf",&a,&b,&c);就可以正常运行了。
不过我定义的area也是double型,却可以以float型正常输出,这又是怎么回事?
求大神解答。还有回答我的这位大兄弟,成功把我带歪了,不过谢谢你的回答。不知道什么情况VS 2008加逗号没事。 展开
#include<math.h>
#include<iostream>
int main()
{
double a,b,c,s,area;
printf("请按照a,b,c的格式输入三角形的三边长:\n");
scanf("%f,%f,%f",&a,&b,&c);
/*a=3.67;b=6.21;c=5.43;*/
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("%f\n",area);
system("pause");
return 0;
}
按scanf函数调用语句输入数据一直出错,但是用注释里给定数据就不会出错,什么情况?求大神解释。用的编译系统是VS 2008
原来是输入实数类型错了,定义的double型,输入的float型,我把输入指令改为
scanf("%lf%lf%lf",&a,&b,&c);就可以正常运行了。
不过我定义的area也是double型,却可以以float型正常输出,这又是怎么回事?
求大神解答。还有回答我的这位大兄弟,成功把我带歪了,不过谢谢你的回答。不知道什么情况VS 2008加逗号没事。 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询