我正在尝试获得a / b的值,但我总是为'/ b'得到'0'。
为什么我得到a / b = 0?
#include <iostream>
using namespace std;
int main()
{
int a,b;
cout << "Give a and b" << endl;
cin >> a >> b;
double q=a/b;
cout << "a/b=" << q;
return 0;
}
答案 0 :(得分:2)
您正在使用整数运算,因此除法结果将是整数。在将其分配给q
变量之前,在解释为整数时,0到1之间的浮点值将被截断为0。所以:
将您的a
和b
变量更改为double
而不是int
类型转换a
和/或b
至double
。
无论哪种方式,您将执行浮点除法而不是整数除法,因此结果将是浮点值。
答案 1 :(得分:1)
可以改为double q=double(a)/b;
。