如图c语言请问图中的多个else if 有执行顺序吗,啥顺序?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如图c语言请问图中的多个else if 有执行顺序吗,啥顺序?相关的知识,希望对你有一定的参考价值。

参考技术A 当然有顺序,顺序就是一条条下来的。
请输入成绩:
如果成绩大于100或小于0,提示:成绩输入错误;
如果成绩大于90 提示:成绩为A
如果成绩大于80, 提示:成绩为B
。。。。。追问

为什么不管输出什么都是E

追答

最后一个应该也是elseif

追问

我试了还是这样

追答

给你一个程序做参考:
#include "stdio.h"
int main()
int score;

while(1)
printf("请输入成绩\n");
scanf("%d",&score);

if (score>100)

printf("输入错误,成绩范围为0~100\n");
continue;

if (score>=60 && score=70 && score=80 && score<=100)
printf("优秀\n");
else printf("不及格\n");

参考技术B 从上到下依次检测局面里的条件是否成立,哪一个成立执行哪一个追问

为什么不管输出什么都是E

追答

你区间都划分错了

else if里面的条件都是互斥的

追问

应该怎么画 我这么画怎么执行的

追答

比如说你输入个80,第一个满足,第二个满足,第三个还满足

系统都不知道选哪个了

给你个e

else if语句里面的区间不要重合

追问

那我应该怎么办写,不会了😂

追答

>100

哎算了等下我电脑上给你打

如何优化这段if else多层嵌套?

一个仓库调拨的业务逻辑是这样的(如图),怎么能优化的减少一些嵌套?求大神给个思路

我喜欢下面的逻辑结构,供参考:


<?php

$errStr = "";//错误消息

$outStr = "";//执行结果


if ($in_deport==\'\') $errStr .= "错误1";

if ($out_deport==\'\') $errStr .= "错误2";

if ($in_deport==out_deport) $errStr .= "错误3";

if ($errStr==\'\')

$sql=\'..\';

if (!$res) $errStr .= "错误4";

if ($errStr==\'\')

$sql=\'..\';

if (...) $errStr .= "错误5:库存不足";

if ($errStr==\'\')

$sql=\'..\';

if (...) $errStr .= "错误6:不存在";

if ($errStr==\'\')

$sql=\'..\';

if (...) $errStr .= "错误7:写入数据库失败";

else $outStr .= "写入数据库成功";


echo<<<END

<div>$errStr</div>

<div>$outStr</div>

END;

参考技术A 如果前面发生异常,应该直接返回操作的。比如做提示
if(!$res)

echo '产品不存在...';
return '按你的返回需求';

$sql = "检查产品是否库存足够";
$res1 = '';
if(!$res1)

echo '库存不足';
return '按你的返回需求';

$sql = "检查产品是否有入库仓";
$res2 = '';
if(!$res2)

//todo insert

else

//todo update

以上是关于如图c语言请问图中的多个else if 有执行顺序吗,啥顺序?的主要内容,如果未能解决你的问题,请参考以下文章

c语言中连续3个if语句 三种情况,大于等于小于0,为啥只执行第一个if就不执行下面的了?请问

如何优化这段if else多层嵌套?

请问if函数啥意思,执行的顺序是啥 ,如果b3不等于空格往下怎么说?

c语言中else的用法

C语言中的条件赋值语句和if——else语句执行效率比较,哪一个效率高些,坐等高手解惑

C语言中三个if语句的嵌套怎理解