哪里编错了啊?为什么当a小于b的时候输出的是"erroe0"啊?

来源:百度知道 编辑:UC知道 时间:2024/06/17 02:30:44
#include"iostream.h"
float bij(float a,float b);
int main()
{
float x,y,z;
cin>>x>>y;
z=bij(x,y);
cout<<z<<endl;
return 0;
}
float bij(float a,float b)
{
float c;
if(a>b||a==b)
{
c=a;

return c;
}

else
{
cout<<"error"<<endl;

return 0;
}
return 0;
}

不知道为什么当a大于b的时候输出的是a这是对的
但是当a小于b的时候应该输出的是"erroe",但结果输出的是"erroe0",这是为什么啊?
原因是知道的但是怎么改正呢?如何可以保证当a小于b的时候输出的是error呢?

#include"iostream.h"
float bij(float a,float b);
int main()
{
float x,y,z;
cin>>x>>y;
z=bij(x,y);
cout<<z<<endl;
return 0;
}
float bij(float a,float b)
{
float c;
if(a>b||a==b)
{
c=a;

return c;
}

else
{
cout<<"error"<<endl;
return a;

}
}

你最后的return 0 没有用到 因为执行完if后一定有个返回值 所以你最后的没有什么意义
至于你说的为什么当a小于b的时候应该输出的是"erroe",但结果输出的是"erroe0" 很简单 你定义的是一个类型为float的函数 所以一定要有返回值
所以要有return 而你写了个return 0 erroe0就这么产生了(注意了 return你不能删 由你定义的函数类型决定的) 如果你觉得erroe0 不好 我改了一下return a 这样 不就也很好吗 可以知道是哪个数据是错误的

如果真要你想要的结果 一开始你就不应该这么写 我重新写了个
#include"iostream.h"
void bij(float a,float b);
int main()
{
float x,y;
cin>>x>>y;
bij(x,y);
return 0;
}
void bij(float a,float b)

已知正整数a,b满足b分之a大于13分之4且小于22分之7,则当b最小时,a加b的值是?为什么,说明规律原因. 当B中的数据小于0时,在A列数值中前加#,谢谢! 若1/a小于1/b小于0,则下列不等式①a+b小于a乘b:②|a|大于|b|:③a小于b:④b/a+a/b大于2 当胸廓容积扩大时,其内压强与大气压的关系是?a.大于 b.等于 c.小于 d.先大于后小于 若6小于等于a小于等于10,[a/2]小于等于b小于等于a,则a+b的值的取值范围是 逻辑问题:“A+B小于5,则A小于2或B小于3”,这是真命题吗? 设a小于-1,b大于0小于1,则-a,b,ab,-a\b从小到大顺序是什么? 为什么当实数a、b、c满足…… 已知2a-a小于3,2a-b小于5,化简|2b-a-7|+|b-2a+8|-|a+b-9| 已知a,b为实数,且a的绝对值小于1,b的绝对值小于1,求证{(a+b)/(1+ab)}的绝对值小于1