作业帮 > 综合 > 作业

请高手帮忙解释下这段程序 int a;a=(int)((double)(3/2)+0.5+(int)1.99*2); p

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/11 04:36:04
请高手帮忙解释下这段程序 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);