大涵涵 2017-07-27 12:42 采纳率: 100%
浏览 1168
已采纳

为什么一直输出的是b的值?

用户输入两个数a、b。如果a能被b整除或a加b大于1000,则输出a;否则输出b。图片

  • 写回答

5条回答 默认 最新

  • beyondLi71 2017-07-28 02:49
    关注

    因为首先(a%b == 0)是 false 然后会判断 (a+b) > 1000 结果也是false 所以最终结果是false 所以会输出b的值 。你想输出a的值可以让(a%b == 0)返回true 或者 (a+b) > 1000 返回true 或者这两个都返回true。但是其实当第一个(a%b == 0)如果已经是true了后面的判断也就不会执行了,这也就是所谓的短路。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗
  • ¥15 钢筋实图交点识别,机器视觉代码
  • ¥15 如何在Linux系统中,但是在window系统上idea里面可以正常运行?(相关搜索:jar包)
  • ¥50 400g qsfp 光模块iphy方案
  • ¥15 两块ADC0804用proteus仿真时,出现异常
  • ¥15 关于风控系统,如何去选择