C语言:if else 嵌套各if子句之间条件不能有交集吗(就是条件不能重复出现) c语言 很多if嵌套和if后面跟着else嵌套

\u5728C\u8bed\u8a00\u4e2dif else\u600e\u4e48\u5d4c\u5957\u56db\u4e2a\u6761\u4ef6\u4ee5\u4e0a

90\u4ee5\u4e0a\uff1aA
80-89\uff1aB
70-79\uff1aC
60-69\uff1aD
60\u4ee5\u4e0b\uff1aE
if(x>=90)ch='A';
else if(x>=80)ch='B';
else if(x>=70)ch='C';
else if(x>=60)ch='D';
else ch='E';

\u5982\u679c\u90fd\u662fif\u6bcf\u4e2aif\u90fd\u4f1a\u505a\u5224\u65ad\uff0c\u56e0\u4e3a10000\u90fd\u6ee1\u8db3\u8fd9\u4e94\u4e2aif\u7684\u6761\u4ef6\u6240\u6709\u8f93\u51fa\u7ed3\u679c\u201c\u8fd9\u662f\u4e2a\u4e94\u4f4d\u6570 \u8fd9\u662f\u4e2a\u56db\u4f4d\u6570 \u4e09\u4f4d\u6570 \u4e8c\u4f4d\u6570 \u4e00\u4f4d\u6570\u201d;

\u4f46\u662f\u7528if else\u65f6\uff0c\u5982\u679c\u7b2c\u4e00\u4e2aif\u6ee1\u8db3\u6761\u4ef6\u90a3\u4e48\u4e0b\u9762\u7684if else\u5c31\u4e0d\u4f1a\u505a\u5224\u65ad\u4e86\u3002\u5982\u679c\u4f60\u628a\u5224\u65ada>0\u8fd9\u4e2a\u8bed\u53e5\u5199\u5728\u524d\u9762\u7684\u8bdd\u8f93\u51fa\u7684\u5c31\u662f\u201c\u4e00\u4f4d\u6570\u201d\u800c\u4e0d\u662f\u4e0b\u9762\u7684\u8bed\u53e5\u4e86\u3002
#include

int main(int argc, const char * argv[]) {

float a;

scanf("%f",&a);

while (a > 99999 || a < 0)

{

printf("\u91cd\u65b0\u8f93\u5165\n");

scanf("%f",&a);

}

if (a>0)

printf("\u4e00\u4f4d\u6570");

else if (a>9999)

printf("\u8fd9\u662f\u4e2a\u4e94\u4f4d\u6570");

else if (a>999)

printf("\u8fd9\u662f\u4e2a\u56db\u4f4d\u6570\n");

else if (a>99)

printf("\u4e09\u4f4d\u6570");

else if (a>9)

printf("\u4e8c\u4f4d\u6570");



}
\u6253\u5370\u51fa\u5f97\u7ed3\u679c\uff1b\u662f"\u4e00\u4f4d\u6570"

有交集应该还是可以运行!!
因为它先执行if(x<5)这个语句,如果符合,就不执行其后的else了,如果不符合(x>=5),那么它就执行后面的else,执行if(x>4&&x<10);所以程序运行是可以运行,
但是你后面的(x>4&&x<10)这个范围内是不可能会取到交集的,也就是说不可能去到4<x<5;因为如果那个数满足它们的交集,它也就满足第一个条件,那么它在第一次执行if语句时也就执行了,而不会再执行后面的else了!!
呵呵!!说得够明白了吧!!

if(x<5){表达式1};elseif(x>4&&x<10){表达式2};else{表达式3};
这样写没有错,但是4<x<5的部分会执行表达式1,只有x>=5&&x<10的部分才会执行表达式2。
最好不要写成有交集,对人来说语义模糊,但是对计算机是确定的。

这么写编译是可以通过的,但具体结果对不对得看你设计的算法是否正确了

如果x是交集中的值它只会执行第一个符合条件的if语句
如果你想每一个符合的都执行应该用另一个if语句
if()
{;}
if()
{;}不加else

扩展阅读:if else语句嵌套配对 ... c语言if else用法举例 ... if else嵌套规则 ... else if的嵌套使用 ... if if else嵌套语句理解 ... if else语句多重嵌套 ... 多个if else 怎么套用 ... if else语句嵌套举例 ... if else嵌套语句格式c语言 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网