c语言else if 如果有多个条件满足是执行第一个满足条件的语句还是所有满足条件的语句?

加入有以下语句:if(表达式1)(语句1)elseif(表达式2)(语句2)elseif(表达式3)(语句3)else(语句4)加入表达式表达式1、2、3的条件有重复使表... 加入有以下语句:
if (表达式1)
(语句1)
else if(表达式2)
(语句2)
else if (表达式3)
(语句3)
else
(语句4)
加入表达式表达式1、2、3的条件有重复使表达式1、2、3同时成立,那在这个选择语句中那个语句会被执行呢?
展开
 我来答
chenjianjk
推荐于2017-09-08 · TA获得超过151个赞
知道小有建树答主
回答量:125
采纳率:0%
帮助的人:46.4万
展开全部
没太看明白你的意思,不过判断式是从第一个开始的(从上到下),一旦有条件满足,则整个if语句都将结束,比如表达式1满足后,就直接跳过整个if ··· else 结构(即开始执行语句4之后的代码)
另外判断“表达式”是否满足也是按照运算符的优先级执行,一旦满足条件即刻退出“表达式”,转而执行后面的语句。

按照你举的例子,只会执行语句1.
ojblckl18734
2018-10-31
知道答主
回答量:2
采纳率:0%
帮助的人:1593
展开全部
1) if(表达式)
语句1;
2)if(表达式)
语句1;
else
语句1
3) if(表达式1)
语句1;
else if(表达式2)
语句2;
else if(表达式3)
语句3;
….
else if(表达式m)
语句m;
else
语句n;
b.优先级
if语句是有优先级的,第一个if优先级最高,最后一个else优先级最低。
对于形式2)、3)而言,if只执行其中的一条判断后面的语句,一旦有条件满足,则整个if语句都将结束;即当某一条件为真时,执行其后语句,后面的条件就不会判断了,结束if语句。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
du瓶邪
推荐于2017-09-19 · TA获得超过2.4万个赞
知道大有可为答主
回答量:1.7万
采纳率:100%
帮助的人:2938万
展开全部
return;
if (in==0&&max==i-1) /*如果条件成立,有什么办法不执行后面else if和else语句,也就是提早结束本函数*/;
else if(ax==0&&in==i-1) {t=*(a+i-1);*(a+i-1)=*a;*a=t;}
else {
t=*a;
*a=*(a+in);
*(a+in)=t;
if (max!=*(a+ax)) ax=in;
t=*(a+i-1);
puts("not end");/*测试是否执行了else语名*/
*(a+i-1)=*(a+ax);
*(a+ax)=t;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
游山老老僧7852
2014-02-09 · 超过12用户采纳过TA的回答
知道答主
回答量:49
采纳率:0%
帮助的人:32.6万
展开全部
第一个满足的 因为else本身是 否则的意思
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
吾以吾爱圆吾5g
2014-02-09
知道答主
回答量:30
采纳率:0%
帮助的人:12.7万
展开全部
条件满足是执行第一个满足条件的语句还
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式