神们,哥们
怎么解释????
printf的参数传值是通过内存,而不是形参,所以编译后printf无法获取传入参数的类型,因而不会根据格式化字符串自动进行类型转换。
而c一般都是按照整形运算,所以你按照浮点数输出肯定是不对的,除非像第二个算式一样加点让编译器转化为浮点数。
用printf函数要确定好格式化字符串里对应参数的类型。
在我的电脑上第二个式子是能算出来的,你再查查全角半角的问题。
你有两个错误
一个是对于整数运算,应该用 %d 而不是 %f
一个是整数除法,是整除,而不是浮点。
修改为
(float)(5 / 2.0f), (float)((5.0f / 2), (float)(-2 * 4)