贝拉尔迪107 2023-11-02 11:00 采纳率: 100%
浏览 36
已结题

看下这串代码,请问if(j%2)这步怎么理解,最后a输出多少?

img


请问if(j%2)这步怎么理解,最后a输出多少?if的判断不应该是真吗?然后break跳出循环然后a=0吗?答案给的是a=1为啥

  • 写回答

4条回答 默认 最新

  • 关注

    解释及执行过程如下:

    j%2的意思是 取 j 除以2的余数,if(j%2)等价于 if(j%2==1)
    if(j%2)的意思就是说,如果 j 除以2的余数为1(非0为真),if条件就成立,就执行if下面的break语句。
    
    代码执行过程如下(以for循环为主):
    j=0时,for循环执行过程如下:
        j%2=0,if条件不成立,执行a++,a=1
        j++,j=1
    j=1时,for循环执行过程如下:
        j%2=1,if条件成立,执行break,结束for循环
    
    执行printf语句,打印a=1
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 11月10日
  • 已采纳回答 11月2日
  • 创建了问题 11月2日