C语言中的坑(1)

简介: C语言中的坑(1)

这个系列我们来讲一下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(为假),一次循环都进不去。

这期就到这里啦,拜拜。

相关文章
|
2月前
|
C语言
C语言中的复合语句
C语言中的复合语句
250 1
|
5月前
|
存储 C语言
C语言:练习6
C语言:练习6
26 1
|
编译器 C语言 C++
初识c语言
一个程序运行起来如果报错或者结果是上一次运行程序的结果那么就是你写的程序有问题,可以用cursor这个编码chatgpt这个软件看一下那里出现的问题,但是要保证自己的代码是完整的我们在vs2022中要创建的源文件,头文件是用来存放自定义函数的。因为我们学习的是c语言所以我们创建的文件的以.c结尾的,不能是.cpp,因为c语言的语法规则和c++的语法规则不一样,要不然写出来的程序会报错。printf()函数在程序的函数体内实现,printf(“”)是负责打印(“”)里面的字符。scanf()函数的使用。
C4.
|
5月前
|
存储 算法 安全
C语言的算法结构
C语言的算法结构
C4.
68 0
|
算法 Serverless C语言
C语言假期作业 DAY 08
C语言假期作业 DAY 08
|
10月前
|
存储 编译器 C语言
初识C语言(3)
初识C语言(3)
67 0
|
C语言
【C语言】汉罗塔
【C语言】汉罗塔
100 0
【C语言】汉罗塔
|
C语言
C语言假期作业 DAY 14
C语言假期作业 DAY 14
|
C语言
C语言假期作业 DAY 05
C语言假期作业 DAY 05
|
编译器 C语言 C++
初识C语言(下)
初识C语言(下)