幕布斯7025141
2017-12-24 00:47
#include <stdio.h>
int main()
{
double num = 2.5; //定义浮点型变量num并赋值为2.5
int mum=(int)num;
printf("num的整数部分是%d\n", mum);
return 0;
}
你是赋值num后,又将强制转换的(int)num定义给int型的mum,当然输出num整数部分为2了。尽管你将你的num定义给了mum,但输出的最终是它的值而不是名。
你看这个我想你就明白了
数据类型和表达式都必须加括号,如把(int)(x/2+y)写成(int)x/2+y则成了把x转换成int型之后再除2再与y相加了。
由此可知:(int)mum即(int)(mum)
因为你输出格式里规定: num的整数部分为.........。 如果你改掉前面的 num 。输出的语句就会改变
强制转换的运算不遵循四舍五入原则,结果是对的
C语言入门
926217 学习 · 20797 问题
相似问题