请高手帮忙解释下这段程序 int a;a=(int)((double)(3/2)+0.5+(int)1.99*2); printf("%d\n",a);结果为3.

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/16 11:46:03
请高手帮忙解释下这段程序 int a;a=(int)((double)(3/2)+0.5+(int)1.99*2); printf(
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);