if多条件判断

在一个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。

 

posted @ 2017-03-31 20:48  liqinglucky  阅读(1587)  评论(0编辑  收藏  举报