新手关于强制类型的疑惑
在书本上看到对强制类型的定义:在转换时,操作数的值不发生改变,改变只是表达式的类型例如:
float x=3.5;
i=(int)x; ///这个I的值是3 ,是不是这里的X的值还是等于3.5呢?
又如:float x=2.5;
求(int)x,x+1; /// X+1=3.5
再如:
main()
{
double d=3.2;
int x,y;x=1.2;
y=(x+3.8)/5.0;
printf("%d \n",d*y); ///这个题目的答案输出是0,但是如果按照上面的定义,那么改变的只是表达式的类型的话,那应该是3才对啊,怎么是0呢?
}
本人新手,望前辈们不吝赐教,感激不尽。