严格按照if语句的格式来看待if语句,可以在条件执行体语句上外包大括号以便区别:
if ( 条件 ) 语句; //语句也可以是:{ 语句;语句;...;语句; }
if ( 条件 ) 语句; else 语句; //语句也可以是:{ 语句;语句;...;语句; }
如果在嵌套的if语句中出现else,编译器会自动向前找到最近的那个if完成一个完整的if...else ...语句;你也可以在遇到else后找到这个结构然后用大括号将它们括起来表示这是一条if语句,省得混淆,比如:
if ( A ) if ( B ) else 语句A; else 语句B;
可以看成:if ( A ) { if ( B ) else 语句A; } else 语句B;
其中嵌套的if语句可以看成一条语句,基本结构是:
if ( A ) 语句C; else 语句B; 其中语句C是一条if语句:if ( B ) else 语句A;
不知道你说的是横向还是纵向
纵向就是多个平级的 if()语句的并列
如 if()
if()
if()
而横向就是 if()语句中包含If()语句
如 if(if(if()));
我正好学到这里刚刚试验了一下是可以的 以下: 但是因为格式的关系 { 的位置不能复制原来的位置 语句的优先级和 { 的位置有关
比如3重if()语句的 { 的位置应该是这样的
{
{
{
#include
int main()
{
float a,b;
puts("qing shu ru kou wei he jia ge");
scanf("%f,%f",&a,&b);
if(a==1||a==2)
{
if(a==1&&b>=5)
{
if(b>=10)
{
puts("ni ke yi chi xiao tian zhong zi he da toan zhong zi");
}
else
{
puts("ni ke yi chi xiao tian zhong zi");
}
}
if(a==2&&b>=4)
{
if(b>=12)
{
puts("ni ke yi chi da xian zhong zi he xiao xian zhong zi");
}
else
{
puts("ni ke yi chi xiao xian zhong zi");
}
}
}
else
{
puts("ni hai shi bie chi l");
}
return 0;
}
if 是一个分支语句,就是在条件中选择一个执行,
for 是循环语句,只要条件成立,就反复的执行,所以循环里的条件只是判断进入或退出循环的。
if语句相关:
if语句的括号内可以加任意语句,但是不能有分隔符。可以用||、&&、!来进行逻辑语句的判断
若是包含结构,则关系如下:
if(A){
if(B){
if(C) D;
}
}
}
则意思为如果满足A,则对B进行判断。如果满足B,则对C进行判断。如果满足C,则执行语句D