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

为什么两种都可以

//第一种。。。。。

#include <stdio.h>

int main()

{

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

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

    return 0;

}




//第二种。。。。。

#include <stdio.h>

int main()

{

    double num = 2.5; 

   int num1=(int)num//定义浮点型变量num并赋值为2.5

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

    return 0;



提问者:慕九州4443714 2021-02-14 21:38

个回答

  • 慕沐3447294
    2021-03-12 11:49:51

    第一种是在打印的同时就转换成整数

    第二中: int num1=(int)num

    是先把num换为整数 再把值赋给num1 打印出来效果一样

    个人理解  勿喷

  • 我的山谷
    2021-02-20 17:29:56

     printf("num的整数部分是%d\n", (int)num);  第一种相当于把第二种的int num1=(int)num 放在printf里面进行转换举个简单的例子

    就像算1+1=2也可以有两种

    第一种:1

    int t;

    t=1+1;

    printf("%d",t);


    第二种:printf(“%d”,1+1);

    两种都能得出2