这个系列我们来讲一下C语言中的坑。众所周知,C语言中判断两个值是否相等使用 == 来判断,然而,我们常常会手残写为 = ,例如:
我们想要的代码输出结果是空白(什么也没有),但是当我们运行这个代码时,会打印出 这就是我们误将‘==’写为‘=’导致的结果, a=1 不是判断语句而是赋值语。这会导致判断部分为1(为真),所以执行了打印。
来看一道笔试题,请问要循环多少次?
1. #include<stdio.h> 2. int main() 3. { 4. int i = 0; 5. int k = 0; 6. for(i=0,k=0;k=0;i++,k++) 7. { 8. k++; 9. } 10. return 0; 11. }
乍一看,这不是一次循环吗?k判断为0,会走一次循环。如果你这么想,恭喜,以身试坑了。答案是0次循环。
显然,这里又是一赋值语句,0赋值给k,表达式结果是0(为假),一次循环都进不去。
这期就到这里啦,拜拜。