debug: if (va=1) 和 if (va==1)的区别

Posted on 2016-07-24 11:12  morxio  阅读(176)  评论(0编辑  收藏  举报

今天写的程序出现一个bug,就是怎么都进不了我要进的程序分支中去。后来发现是下面这个错误:

if (va = 1)
    goto program1;

goto表示要进入的分支. 而其实我要表达的是

if (va == 1)
    goto program1;

结果由于这里用了第一个表达,后面的程序就乱了套了. 最后发现因为这里的if()中,我把va的值赋成了1,所以才造成后面va都是1.

所以写程序的时候,一定要把不能随便更改的量都用const修饰起来,否则很难检查错误。