已知int y;float x=-3;,执行语句y=x%2;后,变量y的值为: 语句本身是错误的 为什么?谢谢

问题描述:

已知int y;float x=-3;,执行语句y=x%2;后,变量y的值为: 语句本身是错误的 为什么?谢谢
已知int y;float x=-3;,执行语句y=x%2;后,变量y的值为: 语句本身是错误的
为什么?谢谢
1个回答 分类:综合 2014-09-21

问题解答:

我来补答
很高兴为你解决问题哈~作为一个从事软件开发的人员,你这种问题在我曾经也是犯过错误的哈
在数值类型里面有个 优先级关系:一般来讲,占位越长或者精度越高的数据类型的等级越高,
当你做运算的时候,系统会自动的将 低优先级的数自动向高优先级的数转换,称之为 隐身转换
当高级向低级转换的时候,需要强制转换 就是在结果前面加上 (低优先级的数据类型) 就可以了
所以你上面的程序可以可以这样写:
int y;
float x=-3;
y=(int)x%2; 将float强制转换成 int
或者,
int x=-3;
float y;
y=x%2 此时系统会自动将int结果转换成 float 的哈
有什么不明白的继续追问!
 
 
展开全文阅读
剩余:2000
上一页:14,16
下一页:对一下
也许感兴趣的知识