已知int y;float x=-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=(int)x%2; 将float强制转换成 int
或者,
int x=-3;
float y;
y=x%2 此时系统会自动将int结果转换成 float 的哈
有什么不明白的继续追问!
如果你认为我的解答对你有帮助,请采纳为最佳,谢谢~~~
在数值类型里面有个 优先级关系:一般来讲,占位越长或者精度越高的数据类型的等级越高,
当你做运算的时候,系统会自动的将 低优先级的数自动向高优先级的数转换,称之为 隐式转换
当高级向低级转换的时候,需要强制转换 就是在结果前面加上 (低优先级的数据类型) 就可以了
所以你上面的程序可以这样写:
int y;
float x=-3;
y=(int)x%2; 将float强制转换成 int
或者,
int x=-3;
float y;
y=x%2 此时系统会自动将int结果转换成 float 的哈
有什么不明白的继续追问!
如果你认为我的解答对你有帮助,请采纳为最佳,谢谢~~~
展开全部
X是float型、y是int型、
把高精度的数据传输给低精度的就是错误的。
把高精度的数据传输给低精度的就是错误的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
%只能用于整数,而x是浮点数,这是不允许的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int y;
float x=-3;
y=(int)x%2; 将float强制转换成 int
或者,
int x=-3;
float y;
y=x%2
float x=-3;
y=(int)x%2; 将float强制转换成 int
或者,
int x=-3;
float y;
y=x%2
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询