【发布时间】:2015-03-15 14:35:20
【问题描述】:
我正在编写我的 Sam 的自学练习册,在第 5 课中,研讨会要求展示 32/7 和 32.0/7 的结果。使用不同的运算符(例如 float 或 int)会给我带来不同的结果吗?我尝试了我的代码,但它导致了一个错误。你能指出我正确的方向吗?
#include <iostream>
#include "stdafx.h"
using namespace std;
int main()
{
int num1 = 32, num2 = 32.0, num3 = 7;
int result = num1/num3;
float result2 = num2/num3;
cout << result << endl;
cout << result2 << endl;
return 0;
}
【问题讨论】:
-
您可能想使用演员表:
float result2 = (float)num2/(float)num3; -
当两个操作数都是
int时,结果只是除法的商。当其中一个是float时,您会得到实际结果 -
“导致错误” 什么错误?编译时错误?运行时错误?它没有按您的预期工作?什么?
标签: c++ floating-point int operators