关于下面程序运行后输出的错误结果的疑问

img


关于下面程序运行后输出的错误结果的疑问,请问有没有人可以明确而详细的解一下子呀

【解释】对函数调用fun((int)fun(a+c,b),a-c),首先调用fun(a+c,b),得到的值是

15.000000,因为fun函数的返回值是float型,然后通过对fun(a+c,b)进行强制类型转换

将得到的结果转换为整型数15,再调用fun(15,a-c),则得到的值为9.000000。因为printf

中输出格式控制符是%3.0f,即不输出小数位,所以输出将是9。所以正确答案是B。