外贸
当if语句中的执行语句又是if语句时,则构成了if 语句嵌套的情形。其一般形式可表示如下:
(1)if(表达式1)
if(表达式2)
语句序列1
else
语句序列2
(2)if(表达式1)
if(表达式2)
语句序列1
else
语句序列2
else
语句序列3
(3)if(表达式1)
语句序列1
else
if(表达式2)
语句序列2
else
语句序列3
(4)if(表达式1)
if(表达式2)
语句序列1
else
语句序列2
else
if(表达式3)
语句序列3
else
语句序列4
if语句嵌套时,else子句与if的匹配原则:else子句总是在它上面、距它最近、且尚未匹配的if配对。例如:
if(a==b)
if(b==c)
printf(“a==b==c”);
else
printf(“a!=b”);
因为else子句总是与在它上面距它最近、尚未匹配的if配对,因此,次程序中的else子句会与if(b==c)配对而不是与if(a==b)配对,这样容易发生错误。为了实现正确的配对方法,一般加上{},可作如下修改:
if(a==b)
{
if(b==c)
printf(“a==b==c”);
}
else
printf(“a!=b”);
#include <stdio.h>
int main(){
int a,b;
printf("please input a,b: ");
scanf("%d%d",&a,&b);
if(a!=b)
if(a>b) printf("a>b\n");
else printf("a<b\n");
else printf("a=b\n");
return 0;
}
为了增强程序的可读性,一般情况下较少使用if语句的嵌套结构。
用if-else-if多分支语句改写程序:
#include <iostream.h>
#include <stdio.h>
int main(){
int a,b;
printf("please input a,b: ");
scanf("%d%d",&a,&b);
if(a==b) printf("a=b\n");
else if(a>b) printf("a>b\n");
else printf("a<b\n");
return 0;
}
程序运行结果:
please input a,b:34 67↙
a<b
来源:服务器,转载请保留出处和链接!
本文链接:http://www.cau168.com/post/140.html
Copyright 六六互联.Some Rights Reserved.www.ic.vip