写C程序时,经常发现大家=与==分不清。最常见的写法如下:
int a = 3;
if(a = 1)
{
.......
}
写程序的人原意是想如果a等于1的话,就执行花括号里的语句,a初始化时的值是3,也就是不会执行,但实际呢?却执行了花括号里的语句。
这个也不能怪C程序的初学者,大家学了那么多年的数序,=是等于号早就深入人心,现在C语言告诉你==才是等于号,放谁也一时半会儿接收不了,难道就真没有一个方法能避免此类错误吗?当然不是。我教大家一个联想的办法。
数学中,=是等于号,那么在心中告诉自己,“数等”就是数学中等于号的意思,且“数”与“傻”发音相似,那么就记住“傻等”,在写关于相等的程序代码时,不断的念傻等傻等,迫使自己联想到数等,数学中的等于号,如果自己写成数学中的等于号,也就是一个“=”,那自己就是“傻”,所以要写成“==”。
希望这个联想法能帮助大家。
int a = 3;
if(a = 1)
{
.......
}
写程序的人原意是想如果a等于1的话,就执行花括号里的语句,a初始化时的值是3,也就是不会执行,但实际呢?却执行了花括号里的语句。
这个也不能怪C程序的初学者,大家学了那么多年的数序,=是等于号早就深入人心,现在C语言告诉你==才是等于号,放谁也一时半会儿接收不了,难道就真没有一个方法能避免此类错误吗?当然不是。我教大家一个联想的办法。
数学中,=是等于号,那么在心中告诉自己,“数等”就是数学中等于号的意思,且“数”与“傻”发音相似,那么就记住“傻等”,在写关于相等的程序代码时,不断的念傻等傻等,迫使自己联想到数等,数学中的等于号,如果自己写成数学中的等于号,也就是一个“=”,那自己就是“傻”,所以要写成“==”。
希望这个联想法能帮助大家。