小疯子的ID 2021-06-17 22:12 采纳率: 86.7%
浏览 8
已采纳

我想知道为什么会是这个答案

#include<stdio.h>

int main()

{

int m=7,n=4;

float a=38.4,b=6.4,x;

x=m/2+n*a/b+1/2;

printf("%f\n",x);

}

  • 写回答

1条回答 默认 最新

  • qfl_sdu 2021-06-17 22:19
    关注

    m/2+n*a/b+1/2分为三部分:

    1)m/2:m是int类型,所以m/2的值也是int类型,结果是7/2=3

    2)n*a/b:a和b都是float类型,所以按照float类型计算,结果是24.000000,

    3)1/2:1和2都是整数,结果是整数,结果1/2=0

    最后三部分相加,因为2)是float类型,所有都转成float计算:3.000000+24.000000+0.000000=27.000000

     

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?