C++ 中的除法

Division in C++

我是 C++ 的新手,我尝试了这个简单的代码:

#include<iostream>
#include<math.h>
using namespace std;

int main(){
    double a;
    a=1/6;
    cout<<a;
}

但结果是 0。据我了解,double 应该使用实数,所以结果不应该是 1/6 或 0.1666666 吗?谢谢!

在表达式1 / 6中,两个数字都是整数。这意味着此除法将执行整数除法,结果为 0。要进行 double 除法,一个数字必须是双精度数:例如 1.0 / 6

整数文字 16 的类型为 int。因此在表达式

1/6

使用整数运算结果为0

至少使用一个操作数作为浮动文字。例如

a = 1.0/6;

a = 1/6.0;

a = 1.0/6.0;