目录
前言:
上篇文章讲解了if switch 语句的基础知识,本次来讲解对于if switch 的注意事项
一、if 语句
1、等号出错问题
示例:
使用等号不当造成了错误编译
代码演示:
当用一个等号造成错误意思,代码不会报错仍会进行打印
#include<stdio.h>
int main()
{
int a = 0;
if (a = 1)
printf("Hello,World");
else
printf("Wrong");
return 0;
}
打印结果
解决方法:
① 首先我们应该清楚 = 为赋值
== 为判断是否相等
② 我们可以看出将a强行赋值成1,而不是判断是否与所给值相等,造成了正确通过if 语句的假象而且不会报错。
③ 这时我们可以选择将数字和字母倒过来写,这时就会报错防止写出上述代码错误
#include<stdio.h>
int main()
{
int a = 0;
if (1 = a )
printf("Hello,World");
else
printf("Wrong");
return 0;
}
此时编译结果为
这样便有效避免了刚才所述的代码错误
2、如果控制多个语句应用花括号
代码演示:
#include<stdio.h>
int main()
{
int a = 1;
if (a == 1)
printf("Hello\n");
printf("World\n");
else
printf("Hi\n");
return 0;
}
输出结果:
解决方法:
将if管理的两个句子用大括号括在一起,形成一个代码块,让其正常运行
代码如下:
#include<stdio.h>
int main()
{
int a = 1;
if (a == 1)
{
printf("Hello\n");
printf("World\n");
}
else
printf("Hi\n");
return 0;
}
此时就可以正常输出。
3、常见错误:
示例:
不知应执行哪个语句
代码演示:
#include<stdio.h>
int main()
{
int a = 1;
if (a = 2)
if (a = 1)
printf("Hello");
else
printf("Hi");
return 0;
}
解决方法:
①可以观察到第一个 if 语句并不成立,有人就有可能认为不成立就直接执行 else 语句,但是我们可以看到第二个 if 和 else 是对齐的,所以第一个 if 不成立,代码会继续向下运行,进入第二个 if 符合条件,打印 “Hello”。
二、switch语句
注意事项:
①switch(整型)
应定义整型变量放入括号内
否则结果如下:
②case 后应该为 整型常量表达式
错误示例:
#include<stdio.h>
int main()
{
int n = 0;
switch(n)
case 1.0:
return 0;
}
编译结果如下
总结:
对于 if switch 两个分支语句中的细节易报错问题进行部分讲解,如有不足,请在评论区指出。