|
我在VC++和C-FREE都试验了可是让我不能理解的是一个小小的retun把我难住,大家来看下2个代码一个是有return一个是没有:
#include<iostream>
#include<cmath>
using namespace std;
float sanjiaoxing(float a,float b,float c);
void main()
{cout<<"请输入一个三角形的各边长a,b,c"<<endl;
int x,y,z;
cin>>x>>y>>z;
sanjiaoxing(x,y,z);
}
float sanjiaoxing(float a,float b,float c)
{ float area;
float s;
if(a+b<=c||a+c<=b||b+c<=a)
{cout<<"您输入的三个数不能组成三角形"<<endl;
//本应该有的位置
}
else
{
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
cout<<"三角形"<<a<<" "<<b<<" "<<c<<" "<<"的面积是:"<<area<<endl;
/本应该有的位置
}
}
这个程序执行没有毛病
再来看看书上的原代码:
#include<iostream>
#include<cmath>
using namespace std;
float sanjiaoxing(float a,float b,float c);
void main()
{cout<<"请输入一个三角形的各边长a,b,c"<<endl;
int x,y,z;
cin>>x>>y>>z;
sanjiaoxing(x,y,z);
}
float sanjiaoxing(float a,float b,float c)
{ float area;
float s;
if(a+b<=c||a+c<=b||b+c<=a)
{cout<<"您输入的三个数不能组成三角形"<<endl;
return;
}
else
{
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
cout<<"三角形"<<a<<" "<<b<<" "<<c<<" "<<"的面积是:"<<area<<endl;
return;
}
}
这个程序运行后有2个毛病
可是书上的是为了说明retun没有返回值的语句啊!!!!!!
谁能帮我解这个问题!谢谢 |
|