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

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/19 06:47:30
已知inty;floatx=-3;,执行语句y=x%2;后,变量y的值为:语句本身是错误的为什么?谢谢已知inty;floatx=-3;,执行语句y=x%2;后,变量y的值为:语句本身是错误的为什么?

已知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的值为: 语句本身是错误的 为什么?谢谢
已知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的值为: 语句本身是错误的为什么?谢谢
很高兴为你解决问题哈~作为一个从事软件开发的人员,你这种问题在我曾经也是犯过错误的哈
在数值类型里面有个 优先级关系:一般来讲,占位越长或者精度越高的数据类型的等级越高,
当你做运算的时候,系统会自动的将 低优先级的数自动向高优先级的数转换,称之为 隐身转换
当高级向低级转换的时候,需要强制转换 就是在结果前面加上 (低优先级的数据类型) 就可以了
所以你上面的程序可以可以这样写:
int y;
float x=-3;
y=(int)x%2; 将float强制转换成 int
或者,
int x=-3;
float y;
y=x%2 此时系统会自动将int结果转换成 float 的哈
有什么不明白的继续追问!