if与else所控制的语句
之前谈到if语句后面接大括号,那么如果不用大括号又会如何
#define _CRT_SECURE_NO_WARNINGS 1//取消警告
#include<stdio.h>
int main() {
int num;
scanf("%d", &num);
if (num >6)
printf("你还年轻");
printf("你不再年轻");
return 0;
}
当你输入3的时候,会发现两段语句其实都打印了
这里也可以看出,if后如果不使用大括号仅仅只控制后面跟着的一条语句。
在此我也建议如果不是多重选择语句嵌套使用并且后面只跟一段语句,我建议使用if语句后还是要加大括号,方便你与阅读你代码的人更好的理解你的代码。
else与if的配对
当程序中有多个if与else,那么程序应该如何去匹配。这里提供一段代码用于做实验
#define _CRT_SECURE_NO_WARNINGS 1//取消警告
#include<stdio.h>
int main() {
int num;
scanf("%d", &num);
if (num >6)
if (num < 18)
printf("你还年轻");
else
printf("你不再年轻");
return 0;
}
当你输入17时结果为
如果第一个if和else配对的话,那么应该输出你不再年轻。所以可以得出结论,else应该是与最近的if匹配的。当然如果你改变缩进
#define _CRT_SECURE_NO_WARNINGS 1//取消警告
#include<stdio.h>
int main() {
int num;
scanf("%d", &num);
if (num >6)
if (num < 18)
printf("你还年轻");
else
printf("你不再年轻");
return 0;
}
将第一个if 与else对齐测试其结果
可以看出来结果并没有任何的改变,由此也可以看出来,如何缩进对c语言不会有任何影响。
但在此我更推荐第一种写法,这样更不容易给阅读你代码的人造成误解,也可以让你在接下来还需要分析这段代码时更加轻松。