C++中if语句后如果有多条语句.第一条之后的其他语句还执行吗

如题所述

会, 除非if里面有跳出(break; continue; goto; return;)

举个例子:

if( a==b )
{
    a+=b;
    b+=a;
}

a+=b;执行完, 后面的b+=a也会执行, 他跟a+=b是并列的

或者:

if( a==b )
    a+=b;
    b+=a;

a+=b; 执行完以后, if语句全部结束, 会继续执行b+=a;  这一句跟if是并列的(规范来讲, 他应该跟if那一句对齐)

但是如果if中出现了中断, 那么后边就不再执行, 比如:

while(xxxx)
{
    ....
    if(a==b)
    {
        break; //continue, return, goto xxx
        a+=b;
    }
}

当执行了break以后, a+=b就不会执行了, 事实上上面这种情形, a+=b;这一句是永远不会被执行的

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-04-13
如果没有大括号的话,if(...)后kw rv只执行一个语句,后面的语句就独立于if 语句之外了。