#include <stdio.h>
int main(){
int x;
x = (10+20)*(1.0/2);
printf("%d", x);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出是
15
Run Code Online (Sandbox Code Playgroud)
并以另一种形式:
#include <stdio.h>
int main(){
printf("%d", (10+20)*(1.0/2));
}
Run Code Online (Sandbox Code Playgroud)
输出是
0
Run Code Online (Sandbox Code Playgroud)
1.0/2是0.5当计算整型变量x,但1.0/2就是0计算时printf使用%d(我想...)
我无法理解这种情况......
另外,当我改变%d到%f在所述第二代码,所述输出是15.000000
我在Windows 8中使用DEV C++.