if statement
if 声明
有条件地执行代码。
只有在某些条件成立的情况下才需要执行代码。
句法
if ( expression ) statement_true | (1) | |
---|---|---|
if ( expression ) statement_true else statement_false | (2) | |
说明
表达式必须是任何标量类型的表达式。
如果表达式比较不等于整数零,则执行 statement_true。
在表格(2)中,如果表达式比较等于整数零,则执行 statement_false。
与所有其他选择和迭代语句一样,整个 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
总是与最接近的前面的相关if
(换句话说,如果 statement_true 也是一个if
语句,则该内 if
语句必须包含一个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,则不会执行 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 false
i == 3
i != 3 is false
参考
- C11 standard (ISO/IEC 9899:2011):