2. if 语句中嵌入复合语句
上一节我们学习了 if 语句,细心的朋友会发现当我们在 if 的后面或 else 子句的后面写入多条语句时编译器就会报错。原因是 if 和 else 后面的语句部分只能放入一条语句。那么如何放入多条语句呢?这时我们需要使用 复合语句。本节我们先简单讲解复合语句的基本写法,后面我们再详细的介绍复合语句全部的语法和具体细节。
复合语句
复合语句 是使用 大括号 {},将内部的0条、1条或多条语句组合成为一个整体、C 语言中将其作为一条语句放在语法中的某个位置。
复合语句可以写成如下的形式。
{
int x = 100;
x ++;
printf("%d\n", x);
}
上述三条语句 int x = 100;、x ++;、printf("%d\n", x); 作为一条复合语句存在。
在复合语句内部可以声明变量,在复合语句内部声明的变量是复合语句内部的局部变量(后面会讲)(如上述:int x = 100;),这些局部变量在复合语句内部有效,复合语句执行完毕后会自动销毁。在此复合语句外部将无法使用。如上面的示例可以改写如下,且执行逻辑和结果完全一样:
#include <stdio.h>
int main(int argc, char *argv[]) {
int age;
printf("请输入年龄:");
scanf("%d", &age);
if (age < 18) {
printf("你是未成年人!\n");
} else {
printf("你是成年人!\n");
}
printf("程序退出\n");
return 0;
}
练习:
写一个程序,输入一个整数x,判断这个整数是正数、负数还是零并打印结果。