打印

执行问题

[复制链接]
537|34
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
guoyt|  楼主 | 2022-10-9 20:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

if(表达式1)
{
    语句1;
}
else if(表达式2)
{
    语句2;
}
else (表达式3)
{
    语句3;
}
我知道如果表达式1成立就不会执行else if了, 那对于表达式3又是怎么执行啊??
谢谢!

使用特权

评论回复
沙发
pengf| | 2022-10-9 20:19 | 只看该作者
else (表达式3)

应该是 else if (表达式3) 之误

使用特权

评论回复
板凳
huangchui| | 2022-10-9 20:22 | 只看该作者
else不带表达式

使用特权

评论回复
地板
zhenykun| | 2022-10-9 20:24 | 只看该作者

1成立执行1
否则判断2,成立则执行2
1,2都不成立执行3
任何情况只执行其一

使用特权

评论回复
5
llljh| | 2022-10-9 20:26 | 只看该作者

最后一个仍然可以是带有判断语句的:
......

else if(表达式3)
{
    语句3;
}
(默认出口)

使用特权

评论回复
6
supernan| | 2022-10-9 20:28 | 只看该作者
这是一个串行判断,并行出口结构,当任何if(表达式n)为真,执行语句n ,然后直接至“默认共同出口”(并行),——与后面其它所有else内容无关。否则串行判断下一条件。
正如带有  break;语句的switch/case 结构。

使用特权

评论回复
7
lizye| | 2022-10-9 20:30 | 只看该作者

在   SAR8_SelectADCChannel(SAR8_P0_0);
进行修改就好了

使用特权

评论回复
8
午夜粪车| | 2022-10-9 20:32 | 只看该作者

确实,else不带表达式

建议楼主考虑能不能用switch

使用特权

评论回复
9
zhenykun| | 2022-10-9 20:36 | 只看该作者
其实这就像在一幢楼里找一个东西,一楼没有就找二楼,二楼没有找三楼,依次找下去。最后找不到就else了。

使用特权

评论回复
10
juventus9554| | 2022-10-9 20:39 | 只看该作者
这种多层分支的程序,最好改用swicth!

使用特权

评论回复
11
renyaq| | 2022-10-9 20:41 | 只看该作者
else if 结构我也经常用。
尤其是在复杂的错误处理的时候。
if (错误1) {goto end1;}
else (错误2) {goto end1;}
else (错误3) {goto end1;}
//处理正确的情况
end1:;

使用特权

评论回复
12
guoyt|  楼主 | 2022-10-9 20:44 | 只看该作者
能不能这样写:
if  (错误1) { }
else if (错误2) { }
else if (错误3) { }
else {处理正确的情况}
end1:   ;

使用特权

评论回复
13
zyf部长| | 2022-10-9 20:47 | 只看该作者
效果一样

使用特权

评论回复
14
huangchui| | 2022-10-9 20:51 | 只看该作者
else if ( 错误2 );
else if ( 错误3 );
else { 处理正确的情况 }
end1:   ;

一样吗?

使用特权

评论回复
15
chuxh| | 2022-10-9 20:54 | 只看该作者
表达式1,2都不成立的时候就执行表达式3了

使用特权

评论回复
16
dingy| | 2022-10-9 20:56 | 只看该作者
表达式1不成立,执行表达式2;表达式2不成立,执行表达式3,。是一个嵌套【1,【2,3】】

使用特权

评论回复
17
renyaq| | 2022-10-9 20:59 | 只看该作者
相当于3选一,跟case语句差不多的,

使用特权

评论回复
18
wuhany| | 2022-10-9 21:02 | 只看该作者
else(表达式3)错误吧!!

使用特权

评论回复
19
jiaxw| | 2022-10-9 21:05 | 只看该作者
翻译成汉族话: 如果xxx就xxx,(此处可以继续若干个如果就),否则...(只有一个否则)

使用特权

评论回复
20
liliang9554| | 2022-10-9 21:07 | 只看该作者

if(表达式1)
{
    语句1;
}
else if(表达式2)
{
    语句2;
}
//到此结束;

//下面这段是非法的;
else (表达式3)
{
    语句3;
}
我知道如果表达式1成立就不会执行else if了, 那对于表达式3又是怎么执行啊??

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1018

主题

9067

帖子

3

粉丝