if (x != 0) {
printf("x is nonzero.\n");
}
注意语句块的“}”后面不需要加“;”号。如果}后面加了;号,则这个;号本身又是一条新的语句了。
在C语言中一个单独的;号表示一条空语句(Null Statement)。上例的语句块中只有一条语句,其实没必要写成语句块,可以简单地写成:
if (x != 0)
printf("x is nonzero.\n");
语句块中也可以定义局部变量,例如:
void foo(void)
{
int i = 0;
{
int i = 1;
int j = 2;
printf("i=%d, j=%d\n", i, j);
}
printf("i=%d\n", i); /* cannot access j here */
}
和函数的局部变量同样道理,每次进入语句块时为变量j
分配存储空间,每次退出语句块时释放变量j
的存储空间。