上次我讲到了关于野指针的知识点,本篇我们要讲的是一个小插曲,这个知识点就是:Assert断言。
Assert断言其实是一个检查语句,主要是检查代码运行的过程能不能达成一定的结果,检测的就是那个结果,如果结果有问题那么就会直接报错并结束程序的运行。
我来举个例子:
观察上述的代码,可以看见我只是输入了一个assert检查scanf输入的n是否大于3的代码,但是当输入的数字小于3的时候,他不仅仅会报错,而且可以从右图看到.c,line 174,意思是.c文件的174行出现了错误,也就是说报错的时候assert语句还会把报错的位置一起报出来,因此程序员在使用assert语句去检查结果是否正确是非常方便的。
当然,assert在VS2022的debug版本中,assert语句也是可以用代码去关闭的
当程序内加上#define NDEBUG的时候,assert语句就会被直接跳过,因此assert的开启和关闭是非常方便的,程序员可以无后顾之忧的去添加assert语句排查结果。
而且在VS2022中,由于存在着debug和release两个版本,因此在使用release版本的时候可以把assert语句检查直接关闭掉,更方便程序员后续在排查问题的时候去使用。
这就是本篇要讲的所有内容了,感谢各位读者的观看。