l卿言
2018-11-29 17:44
#include <stdio.h>
int main()
{
double num = 2.5; //定义浮点型变量num并赋值为2.5
int num1=(int)num;
printf("num的整数部分是%d\n", num1);
return 0;
}
这个得出了正确结果,显示运行成功,但是如果这样写
#include <stdio.h>
int main()
{
double num = 2.5; //定义浮点型变量num并赋值为2.5
int num1=(int)num;
printf("num的整数部分是%d\n", num);
return 0;
}
却不行,可是明明求得是num的结论啊,有什么缘由吗,求帮助,谢谢啦!
自动转化是字节小的可以向字节大的自动转换,但字节大的不能向字节小的自动转换,而强制转换转换后不会改变原数据的类型及变量值,只在本次运算中临时性转换。
你下面一个程序转化num时输入的函数值必须保持一致。
例如: printf("num的整数部分是%d\n", num); 中num改为num1 与上面的num1保持一致
最后那个你是把num强制转化了num1,应该在输出的时候printf("num的整数部分是%d\n", num1); 注意最后变量名是num1
C语言入门
926851 学习 · 20803 问题
相似问题