C语言:if else 嵌套各if子句之间条件不能有交集吗(就是条件不能重复出现) c语言 很多if嵌套和if后面跟着else嵌套
\u5728C\u8bed\u8a00\u4e2dif else\u600e\u4e48\u5d4c\u5957\u56db\u4e2a\u6761\u4ef6\u4ee5\u4e0a90\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语言 ...