一个简单的C++问题~~

来源:百度知道 编辑:UC知道 时间:2024/06/05 07:45:00
#include<iostream>
using namespace std;
int main()
{
cout<<45/2+(int)3.14159/2<<endl;
system("pause") ;
return 0;
}
为什么输出的是23,我觉得应该是24啊~
45/2为什么是22啊,没说45和2都是int啊,只是直接输入啊

45/2=22
3.14159/2经int转换成1

所以输出是23

(int)3.14159=3 (类型)比/运算级别高 默认是整型数据: 45/2+3/2=22+1

45/2 = 22 结果取整,不会四舍五入
int)3.14159/2 = 1 也是同样道理
最后就是23

45/2=22
(int)3.14159/2=1
和是int型的

45/2两个是默认INT数,因此=22,而(INT)3.14159/2=1
22+1=23