请高手帮忙解释下这段程序 int a;a=(int)((double)(3/2)+0.5+(int)1.99*2); printf("%d\n",a);结果为3.
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/15 00:20:16
![请高手帮忙解释下这段程序 int a;a=(int)((double)(3/2)+0.5+(int)1.99*2); printf(](/uploads/image/z/3688262-62-2.jpg?t=%E8%AF%B7%E9%AB%98%E6%89%8B%E5%B8%AE%E5%BF%99%E8%A7%A3%E9%87%8A%E4%B8%8B%E8%BF%99%E6%AE%B5%E7%A8%8B%E5%BA%8F+int+a%3Ba%3D%28int%29%28%28double%29%283%2F2%29%2B0.5%2B%28int%291.99%2A2%29%3B+printf%28%22%25d%5Cn%22%2Ca%29%3B%E7%BB%93%E6%9E%9C%E4%B8%BA3.)
x){~3uv?ݱ//~dG3|E]
y%
։@FJ~iRN6XPRHZMPRMSIԴ~{ysegTOw;lƧLb+GQ`lڀZ <߸{<]iMZfkg
3f= &yOzڱ
-O.5Rx6i/.6YW
Ϧnxټiǂ3(@`mme`0F 1! >5
请高手帮忙解释下这段程序 int a;a=(int)((double)(3/2)+0.5+(int)1.99*2); printf("%d\n",a);结果为3.
请高手帮忙解释下这段程序 int a;a=(int)((double)(3/2)+0.5+(int)1.99*2); printf("%d\n",a);结果为3.
请高手帮忙解释下这段程序 int a;a=(int)((double)(3/2)+0.5+(int)1.99*2); printf("%d\n",a);结果为3.
int a;
a=(int)((double)(3/2)+0.5+(int)1.99*2);
//(double)(3/2) :是将3/2的结果类型转换为双精度=1.5
//(int)1.99 :是将1.99 强制转换为整形=1
// 最外面的(int)把里面的小数都删除 结果 1+0+1*2 所以=3
printf("%d\n",a);