没有通过用户定义的函数得到相同的输出



我在Cpp中尝试了一些东西,但当我在用户定义的函数中使用相同的东西时,没有得到相同的输出
CODE

#include <iostream>
using namespace std;
int sum(int x, float y){
return (x / y);
}
int main(){
int a;
float b, c;
a = 12;
b = 5;
c = a / b;
cout << sum(12, 5) << endl;
cout << c;
}

输出
2
2.4

为什么在两种情况下我都没有得到2.4 ?

sum的返回值为int。

#include <iostream>
using namespace std;
int sum(int x, float y){ 
return (x / y);                                //<< this is an int
}
int main(){
int a;
float b, c;
a = 12;
b = 5;
c = a / b; << this is a float
cout << sum(12, 5) << endl;                   //<< prints an int
cout << c;                                    //<< prints a float
}

表达式

x / y

a / b

的类型是float。在下面的语句中,没有截断的表达式的值被赋给浮点变量c

c = a / b;
另一方面,调用 的返回值
sum(12, 5)

由于函数的返回类型,被转换为类型int。因此返回值可以被截断。

为了得到预期的结果,将函数的返回类型更改为类型float

float sum(int x, float y){
return (x / y);
}

相关内容

  • 没有找到相关文章

最新更新