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); } }
运行结果
1 2 | if ((first = 1) || (second = 0)) if ((first = 1) && (second = 1)) |
结果分析
1. 在第一个if语句中,条件之间为“或”关系。只要一个满足就跳出if判断,“++second”并未执行。所以second = 0;
2. 在第二个if语句中,条件之间为“与”关系。需要两个满足才跳出判断,“++second”需要执行。所以second = 1。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步