- 博客(3)
- 收藏
- 关注
原创 C语言学习的错误——数组作函数参数时会退化为指针
这个题目咋一看很简单,对于不少友友来说都可以想到很多种不同的解法,我这里采用的是双指针法,这个看似简单的题目,却因为一个未接触的点,耗费了数个小时,我反复重写,确保自己的逻辑是正确的,但是依旧出错。这里先给出出错的源码。这个指针指向的地址依旧没变,但是当用sizeof()获取数组大小的时候便会出问题,如题,数组大小应该是10,但sizeof()得出的为8,因为指针类型的大小为8,因此每次循环最多到第九个元素,最后一个元素会被忽略。解决方案1:将函数改为两个传入参数,一个是数组,另一个是数组大小,
2024-06-01 18:51:19
130
原创 C语言学习之扫雷
在文章开始前,我们会先讲解整个游戏的实现思路,然后再去讲解代码实现。我们先搞清楚我们代码的目的:实现一个扫雷游戏,在操作面板上打印9x9的棋盘,当用户输入两个数字时,在棋盘上对应坐标的‘*’将变为该点位周围雷的个数,若在开启的过程中碰到雷,游戏会结束,若所有非雷点位均被开启,则游戏胜利。
2024-04-14 20:02:43
887
原创 C语言分支与循环
从代码中我们可以看到,在经过a>0的判断后,进入到while语句中,此时变量a被赋值3,后经语句“a--;”后,a的值变为2,仍满足a>0,故循环继续,进入循环,a又被赋值3,以此下去,代码会进入死循环。与whil循环不同的是,for循环是在语句执行完后对变量进行操作,操作完成后再开始新一轮的判断。while语句在运行的过程中,会先判断表达式的真或假,若为真,则运行大括号中的语句,为假则跳过。if后面表达式为假,故if后语句不执行,则执行else后的语句。break语句可用于终止当前循环,使程序向后运行。
2023-11-14 21:12:31
40
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人