c语言编程中的一点小技巧(老司机专用)

在写程序的时候“==”这个运算符经常会被写错而写成赋值运算符“=”,比如这个程序

#include
int main()
{


int i =2;
if(i==4){
printf("hehe\n");


}
else
{
printf("haha\n");
}
return 0;


}

这是一个十分简单的程序,执行以后结果是



可以看出这个程序是没有任何问题的,可是当这里的“==”编成“=”时会发生什么情况呢?


c语言编程中的一点小技巧(老司机专用)_第1张图片

程序依然执行,

可是不论我的结果是什么输出的都是haha,

这就是因为关系运算符变成了赋值,不论i的值是多少,条件都为真,所以你不论输入什么都会得到相同的结果。

这时候你肯定说了,这样的问题要是发生了,我肯定能找出来的,可是如果代码是几百行甚至几千行代码,你还能找出来吗?而且这样肯定会浪费掉自己的时间,毫无疑问,你的工作效率就会大大降低。你以后大多数时候都会效力于一些软件公司,公司讲求的是效益,那这样你就很可能被淘汰了。!!!!

那这种情况有办法避免吗?当然有。比如我这样改,



这样在语法上没有任何问题,都是判断i等于4,


结果也和我们预想的完全一样,但要是你把“==”写成“=”了呢?

c语言编程中的一点小技巧(老司机专用)_第2张图片


这时候编译系统就会报错,你怎么可能把一个变量值赋给一个常量呢,这和常量的定义完全不符。

这样就有效的避免了这种错误,因为你一旦写错程序根本无法执行的,这样就把这种错误扼杀在摇篮里。

你可能感兴趣的:(个人心得)