#include<stdio.h>int main(){int num=2.5; //定义浮点型变量num并赋值为2.5int numtwo=(double)num;printf("num的整数部分是%d\n");return 0;}
3 回答
已采纳
onemoo
TA贡献883条经验 获得超454个赞
赋值、初始化时会自动发生类型转换:等号右侧的类型会“临时”转换为等号左侧的类型,再进行赋值。注意前面的临时二字,这并不会改变等号右侧变量本身的类型和值。
不是所有的类型间都可以进行类型转换的,如果类型间没有类型转换规则,就不会发生自动类型转换,且编译器会报错。
浮点型转换为整型的规则大致上就是直接丢弃小数部分,保留整数部分。
所以用浮点型值来初始化整型变量是合法的。
慕运维8283692
TA贡献31条经验 获得超17个赞
#include<stdio.h>
int main()
{
int num=2.5; //定义浮点型变量num并赋值为2.5
int numtwo=(double)num;
printf("num的整数部分是%d\n",num);
return 0;
}
是这样吧?float型自动转换为int型会有数据丢失,我的代码,结果是2。把2.5的小数部分直接舍去了
- 3 回答
- 0 关注
- 2004 浏览
添加回答
举报
0/150
提交
取消