对于以下代码,输出结果是什么?
#include<iostream>
using namespace std;
int main()
{
cout << (double)(3 / 6) << endl;
cout << (double)3 / 6 << endl;
}
结果如图:
由于括号优先级最高,故第一行先运行3/6得0,再强转换为double,仍为0
第二行从左到右执行,先把3强转换为3.0,再进行运算,故得0.5
对于以下代码,输出结果是什么?
#include<iostream>
using namespace std;
int main()
{
cout << (double)(3 / 6) << endl;
cout << (double)3 / 6 << endl;
}
结果如图:
由于括号优先级最高,故第一行先运行3/6得0,再强转换为double,仍为0
第二行从左到右执行,先把3强转换为3.0,再进行运算,故得0.5