【发布时间】:2013-12-18 08:38:18
【问题描述】:
案例 1:
gcc 输出中的printf("%f",(7/2)); 为 0.000000。
案例 2:
float k= 7/2;
gcc 中的printf("%f",k); 输出为 3.000000。
在第一种情况下 printf 期望浮点数但得到整数所以给出错误的结果。但在第二种情况下,它会进行类型转换。
这是我的问题-
- 为什么 gcc 在第一种情况下不给出类型不匹配错误/警告?
- 在第二种情况下,它默认进行类型转换,但为什么不在第一种情况下呢?
【问题讨论】:
标签: c gcc floating-point