?
? ????? PHP ??? ???? ??? ?? ??
有條件地執(zhí)行代碼。
只有在某些條件成立的情況下才需要執(zhí)行代碼。
if ( expression ) statement_true | (1) | |
---|---|---|
if ( expression ) statement_true else statement_false | (2) |
表達(dá)式必須是任何標(biāo)量類型的表達(dá)式。
如果表達(dá)式比較不等于整數(shù)零,則執(zhí)行 statement_true。
在表格(2)中,如果表達(dá)式比較等于整數(shù)零,則執(zhí)行 statement_false。
與所有其他選擇和迭代語句一樣,整個(gè) if 語句都有自己的塊范圍:enum {a,b}; int不同(void){if(sizeof(enum {b,a})!= sizeof(int))返回a; // a == 1 return b; // C89中的b == 0,C99中的b == 1} | (自C99以來) |
---|
在else
總是與最接近的前面的相關(guān)if
(換句話說,如果 statement_true 也是一個(gè)if語句,則該內(nèi) if 語句必須包含一個(gè)else
部分以及):
int j = 1;if (i > 1) if(j > 2) printf("%d > 1 and %d > 2\n", i, j); else // this else is part of if(j>2), not part of if(i>1) printf("%d > 1 and %d <= 2\n", i, j);
如果通過 goto 輸入了 statement_true,則不會(huì)執(zhí)行 statement_false。
if
, else
.
#include <stdio.h> int main(void){ int i = 2; if (i > 2) { printf("first is true\n"); } else { printf("first is false\n"); } i = 3; if (i == 3) printf("i == 3\n"); if (i != 3) printf("i != 3 is true\n"); else printf("i != 3 is false\n");}
輸出:
first is falsei == 3i != 3 is false
C11 standard (ISO/IEC 9899:2011):
6.8.4.1 The if statement (p: 148-149)
C99 standard (ISO/IEC 9899:1999):
6.8.4.1 The if statement (p: 133-134)
C89/C90 standard (ISO/IEC 9899:1990):
3.6.4.1 The if statement