C语言:int a=12; a/=a+a的结果多少?

来源:百度知道 编辑:UC知道 时间:2024/06/07 13:39:56
int a=12;
a/=a+a;
结果是多少?
运行了一下是0,但怎么也不明白.

a/=a+a; a = a / (a +a); a = 12 /24 =0

1,首先a+a
a+a=24,但是a数值不变仍是12
2,然后a/=24
12/24=0.5,a=0.5,但是a为int所以 取整数 0

因为你定义的int整型 他取的是整数部分
其实你运算的答案是0.5 但对于int 他只取小数点前的0
对于小数要用double或float型

double a=12
a/=a+a;
cout<<a<<endl;
运行的结果就是0.5了