会, 除非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;这一句是永远不会被执行的
如果没有大括号的话,if(...)后kw rv只执行一个语句,后面的语句就独立于if 语句之外了。