有关程序设计问题

17王岩 发表于2016年10月04日
<p>以下程序的输出是 &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br ></p><p><br ></p><p>&nbsp;&nbsp;main(&nbsp;)</p><p>&nbsp;{&nbsp;&nbsp;int&nbsp;a=0,&nbsp;b=0,&nbsp;c=0;</p><p>&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(a=b+c)&nbsp;&nbsp;printf&nbsp;(”***&nbsp;a=%d\n”,&nbsp;a);</p><p>&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf&nbsp;(”$$$&nbsp;a=%d\n”,&nbsp;a);</p><p>&nbsp;}</p><p><br ></p><p><br ></p><p><br ></p><p>正确答案:$$$&nbsp;a=0</p><p>为什呢?</p><p><br ></p>
2 回复

    1楼

  • Crazy灬峰少 发表于2016年10月04日
    1 | 0 | 举报
    <p>if的判断条件为0,所以就执行else语句咯....</p>
    Crazy灬峰少 发表于2016年10月04日
    添加评论
  • 2楼

  • 染YE 发表于2016年10月04日
    0 | 0 | 举报
    <p>因为a=b+c是把b+c的值赋给了a,所以相当于if(0),而只有if(1)是才执行if()后的语句,所以if(0)就跳过执行eles。注:a=b+c不是判别式,a==b+c才是,是两个=而不是一个</p>
    染YE 发表于2016年10月04日
    添加评论