/*
目的:测试if else if else if........else 语句使用中常出现的问题
问题1:语句起止问题
问题2: 最后一个else 后面不能加(表示式)
*/
一、if else if......else语句执行起止问题
if else if.......else 基本语句形式如下:
if (表达式A)
语句A;
else if(表达式B)
语句B;
else if(表达式C)
语句C;
else
语句D;
语句E;
此段代码功能,如果表达式A成立,则执行语句A,执行完语句A后,即使表达式B 、表达式C均成立,程序也会跳出if else if.....else,直接执行语句E;如果表达式A不成立,再去判断表达式B,如果表达式B成立,则执行B语句,依次类推。如以下两段代码
代码1:
#include<stdio.h>
int main()
{
if(3>2)
printf("AAAA\n");
else if(3>1)
printf("BBBB\n");
else if(2>1)
printf("CCCC\n");
else
printf("DDDD\n");
printf("EEEE\n");
return 0;
}
/*
VS2010调试结果
-----------------------------------------------
AAAA
EEEE
请按任意键继续. . .
-----------------------------------------------
*/
代码2
#include<stdio.h>
int main()
{
if(2>3)
printf("AAAA\n");
else if(3>1)
printf("BBBB\n");
else if(2>1)
printf("CCCC\n");
else
printf("DDDD\n");
printf("EEEE\n");
return 0;
}
/*
VS2010调试结果
-----------------------------------------------
BBBB
EEEE
请按任意键继续. . .
-----------------------------------------------
*/
二、 最后一个else 后面不能加(表示式)
if (表达式A)
语句A;
else if(表达式B)
语句B;
else if(表达式C)
语句C;
else (表达式D) //此处如果添加表达式D,VS2010编译不过,提示有错误
语句D;
语句E;