(int)(y+x)结果是什么型 (int)y+x结果是什么型 没看懂
(int)(y+x)结果是什么型 (int)y+x结果是什么型 没看懂
追答C语言里面(int)y就是把y变成int型。你可以理解成y→int。
这个运算符优先级比括号低,比加号高。(比如乘也是一样的)先计算优先级高的。
所以说(int)(y+x)就是(y+x)→int。结果是int型。
额,(int)x+y是float型。这个相当于是(x→int)+y
C语言规定是int+float=float。比如1+1.5结果是2.5这是float型。
按你的意思,(int)(y+x)结果就是整型了?但是有个题整形是错的啊
追答(int)(y+x)是整形
int(y+x)这个是错的
结果定义就是整形啊 这是强制类型转换 。。
追答能相加啊,现在的状态为int型,如果你定义一个double的变量去接收结果的话,最终结果还是double型的int x, double y,double z, z=(int)(x+y),最终结果还是double型的
int x,z; double y; z=(int)(x+y),这样结果就为int型啊
不同类型的数相加都是低精度转化为高精度然后在相加,这只是一个临时状态,最终的取值还是看定义接收结果变量的类型
就是说int(y+x)的结果是不确定的,是吧
那int(y)+x结果是什么样的
什么意思。。类型不同,就不能相加吗。能相加的话怎么加
追答类型不同,可以相加,但相加会默认成某种类型,所以你要得到什么类型需要直接转化。