在一个if语句中,括号里面包含多个条件时。条件是否被执行要看if语句里面各个条件是“与”的关系还是“或”的关系。

#include<stdio.h>
 void main(void)
{
   int first=0;
   int second=0;
   if((++first)||(++second))   // 或 关系语句
   {
        printf("if((first = %d) || (second = %d))\n",first,second);
   }
   first = second = 0;
   if((++first)&&(++second))  // 与 关系语句
   {
        printf("if((first = %d) && (second = %d))\n",first,second);
   }
}

运行结果

if((first = 1) || (second = 0))
if((first = 1) && (second = 1))

 结果分析

1. 在第一个if语句中,条件之间为“或”关系。只要一个满足就跳出if判断,“++second”并未执行。所以second = 0;

2. 在第二个if语句中,条件之间为“与”关系。需要两个满足才跳出判断,“++second”需要执行。所以second = 1。

 

相关文章:

  • 2021-09-23
  • 2021-12-23
  • 2022-02-07
  • 2021-08-14
  • 2021-11-08
  • 2021-09-16
  • 2021-07-02
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-09-01
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案