为了账号安全,请及时绑定邮箱和手机立即绑定

关于取模后结果为4,想不通,希望指点下,别人的评论我看了,还是没有理解,感觉解释的跳过了重点。

源代码是int X=(40/9)%5;输出X=4

第一点,=优先级低于%所以先有4.4%5=4.4才对,为什么使4.4取整了为4,取整应该是取模计算完成后的操作。

第二点,如果第一点成立,则答案应该是4.4,将双精度浮点赋值给int,在没有进行强制转换X=(int)4,4时应该会显示error,为什么没有显示,而是正常输出,那么说明赋给int的值为4而不是4.4,我觉得按照我的思维应该是显示error,,,而不是4,,,


正在回答

3 回答

源代码是int X=(40/9)%5;输出X=4

第一点,=优先级低于%所以先有4.4%5=4.4,但是因为都是int型的,所以自动转换了,直接省略掉了小数,所以4.4取整了为4。

第二点,你第一点不成立


0 回复 有任何疑惑可以回复我~

第一点:定义的m和n都是int,所以两数相除默认为int类型。

1 回复 有任何疑惑可以回复我~

取模(%),你可以理解为小学时候学过的除法运算,取模就是取的余数,只有整数,不会有小数的;4除以5,除不开,于4;

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

关于取模后结果为4,想不通,希望指点下,别人的评论我看了,还是没有理解,感觉解释的跳过了重点。

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信