#include <stdio.h> int main() { int a,b,c,d; double result; a = 1; b = 2; c = 3; d = 4; result = a + b - c - d; printf("%f\n", result);//这里把%f改成%d的结果变化怎么那么大? return 0; }
printf("%f\n", (int)result);//重新温习一下强制类型转换
result是一个double型,%d会将double型隐式转换为int型,不过我也有一个问题,测试结果%d下result输出结果是0,为什么不是-4?