为了账号安全,请及时绑定邮箱和手机立即绑定

关于int的问题

double num = 2.5;      //定义浮点型变量num并赋值为2.5    int num2=(int)num;    printf("num的整数部分是%d\n",num2);      return 0; } 这里面的num2的值也是2.5吗,可是num2定义的时候不是int整形吗

正在回答

4 回答

num2 是整型,当然不会有小数点,它的值是2。

你可以省略掉那个括号的:

int num2 = num;

赋值(初始化)要求两侧类型相同。不同的话,等号右侧的变量会自动“临时”转换为等号左侧的类型,再进行赋值,这就叫自动类型转换。所以不用手动指定类型(用括号)。

浮点型转为整型一般是丢弃小数点,所以num的2.5被自动转换为整型2,再为num2初始化。故你定义的整型num2的初值为2.

1 回复 有任何疑惑可以回复我~

懂了,谢谢

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926020    人
  • 解答问题       20793    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

关于int的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信