C语言中 当出现两个if语句 怎么看第二个if是嵌套的,还是紧接着第二个if 顺序执行的呢?

如题所述

看第一个if后面有没有分号

if()
if();

这时候就是嵌套的

if();
if();

这时候就是单独的   补充:一般使用时:

if(/*判断条件*/)
{
    if(/*判断条件*/)
        cout<<"这是嵌套if语句";
}

if(/*判断条件*/)    cout<<"这是第一条if语句";//这时候分号在cout的后面
if(/*判断条件*/)    cout<<"这是第二条if语句";//这时候分号在cout的后面

追问

能看一下这题吗

追答

b自增后值到达了3,在下一个if中从左到右的表达式里b!=2值为真,因为判断符是或,也就是说有任何一个值是真就执行if中的语句,就跳过了c的自减

追问

第一个if是成立的!真对吗

追答

第一个if成立,因为b的自增是后置,意思就是先执行当前的判断再自增,举个例子

#include<stdio.h>
int main(void)
{
    int a,b,c=1,d=1;
    a=c++; //a的值为1
    b=++d; //b的值为2
    printf("%d,%d",a,b);
    return 0;
}

追问

谢谢

温馨提示:答案为网友推荐,仅供参考
相似回答