为什么这样输出,3/2不应该是1.5嘛?x2不应该是0.75嘛?

img

3和2默认是int类型,所以3/2的结果也默认是int类型,1.5取整就是1

3是整数,2是整数,整数/整数结果仍为整数,即使x1是float类型,那也是小数类型的1,可以改为3.0/2或3/2.0

x1 = 1.5;
则(int)x1 = 1;
printf("%d,%.1f",(int)x1, x2);