问答详情
源自:2-9 强制类型转换

为什么两种都对

 printf("num的整数部分是%d\n",numq);这一行nump前面为什么加不加(int)都对

提问者:番茄小土豆0 2021-03-29 19:48

个回答

  • 蒙上灰的梦想
    2021-04-06 17:38:58
    已采纳

    不加是因为你已经强制类型转换了。

    加了相当于又做了一次强制类型转换,当然对了。

  • qq_慕斯卡8346719
    2021-04-03 20:39:51

    为啥强制转换是:int numq=(int)numq而不是:int num=(int)num

  • 番茄小土豆0
    2021-03-30 19:49:05

    第一种是

    #include <stdio.h>

    int main()

    {

        double num = 2.5;      //定义浮点型变量num并赋值为2.5

        int numq = (int)num;

        printf("num的整数部分是%d\n",numq); 

        return 0;

    }

    第二种是

    #include <stdio.h>

    int main()

    {

        double num = 2.5;      //定义浮点型变量num并赋值为2.5

        int numq = (int)num;

        printf("num的整数部分是%d\n",(int)numq); 

        return 0;

    }


  • LHF4830856
    2021-03-29 22:06:56

    能看下完整的代码吗