c语言
文章平均质量分 67
小陈cc_79
种子
展开
-
VS中scanf函数报错scanf‘: This function or variable may be unsafe.
VS中有一个叫newc++file.cpp文件找到这个文件,在文件中加入#define _CRT_SECURE_NO_WARNINGS 1这样以后只要创建的源文件都会包含这句话(仅奏效于VS)这里建议大家安装一个叫everything(本地电脑的搜索)软件由于可能会出现没有更改权限的情况,建议先将newc++file.cpp先拷贝到桌面,然后用记事本打开桌面的那份,在文件中加入#define _CRT_SECURE_NO_WARNINGS 1拖回原来路径替换原文件原创 2022-12-06 17:33:11 · 342 阅读 · 0 评论 -
【C语言】结构体大小如何计算
量为0的地址处 ** 2. **i,c2对齐到对齐数的整数倍的地址处 c2的自身大小为 1, VS中默认对齐数为8,所以c2的对齐数为1 ,所以i需要对其到1而这样的结果又是从何而来呢?有第一段我们可知S1 S2中各个变量的偏移量如下图自己练习一道8给出答案:根据刚刚我们所学,有的同学会计算出48这样的答案,而正确答案是32,这是因为我们忽略了结构体对齐规则的第四点,嵌套结构体时的情况,下面我们一步一步进行分析。结构体的对齐规则:关于为什么存在内存对齐?大部分的参考资料都是如是说的:原创 2022-12-04 15:43:35 · 223 阅读 · 1 评论 -
【c语言】strcpy、strncpy与memcpy三者的区别
strcpy只能复制字符串,并且是整个字符串strncpt只能复制字符串,但可以指定个数memcpy可以复制任意类型的数据,并且可以指定个数**strcpy遇到被复制字符的串结束符"\0"才结束,所以容易溢出。strncpy,memcpy则是根据其第3个参数决定复制的长度。strncpy一旦遇到0以后,后面被拷贝的字节就全部是 0。memcpy 是不关注被拷贝的内容是什么的。复制字符串时用strcpy,strncpy,而需要复制其他类型数据时则一般用memcpy。原创 2022-11-24 19:09:56 · 854 阅读 · 1 评论 -
C语言库函数的实现(strlen strcpy strcmp strcat strstr)
用于判断字符串str2是否是str1的子串。如果是,则该函数返回 str1字符串从 str2第一次出现的位置开始到 str1结尾的字符串;否则,返回NULL。strstr返回一个指针,指向str2在str1中首次出现的位置。原创 2022-11-23 10:21:44 · 460 阅读 · 0 评论 -
数组笔试题及相关解析
printf("%zu\n", sizeof(&arr + 1)); // 4/8 &arr是数组的地址,&arr+1是跳过整个数组,指向'f'后边,本质还是地址 printf("%zu\n", sizeof(&arr[0] + 1)); // 4/8 &arr[0]是数组的第一个元素'a'的地址,&a[0]+1是数组的第二个元素''b'的地址,地址大小也就是4/8 printf("%d\n", strlen(arr)); // 随机值 arr是数组名,但是没有放在sizeof内部,也没有&,原创 2022-11-20 15:58:17 · 111 阅读 · 0 评论 -
打印图案系列(菱形、X形、箭形、空心正方形)
仔细观察图形,可以发现,图形都中是由空格和*按照不同个数的输出组成的。在菱形图案和箭型图案中我们可分上部分和下部分分别输出而X形和,空心正方形视作整体一次性输出原创 2022-11-12 21:09:27 · 365 阅读 · 2 评论 -
杨辉三角(C语言)
题目要求:打印出杨辉三角中的每一项- 数字规律为:d[i][j] = d[i - 1][j] + d[i - 1][j - 1]- 步骤:首先我们可以将第一行作为种子,从第二行开始填每一行的第一列都为1,直接赋值为1后面根据d[i][j] = d[i - 1][j] + d[i - 1][j - 1]进行递堆最后打印即可原创 2022-11-08 20:54:12 · 1617 阅读 · 4 评论 -
深度剖析数据在内存中的存储(C语言)
计算机中的整数有三种2进制表示方法,即原码、反码和补码。三种表示方法均有**符号位**和**数值位**两部分符号位:用**0表示“正”,1表示“负”**数值位:**正数**的**原、反、补码都相同**。 负整数的三种表示方法各不相同。 **负数**的原反补码: **原码:数值的二进制 反码:符号位不变,其他位按位取反 补码:反码+1** 大小端介绍大端(存储)模式:数据的低位保存在内存的高地址中,而数据的高位保存在内存的低地址中。 小端(存储)模式:数据的低位保原创 2022-11-04 18:37:10 · 146 阅读 · 0 评论 -
扫雷游戏(C语言)
分别定义ROW 9 COL 9 扩大后的ROWS11,COLS11 并且设置地简单版雷数EASY_COUNT 10。用宏定义方式 分别定义行列 ROW COL 以及地雷的数量COUNT方便更改扫雷区域大小以及地雷数 一改全改。由于考虑到扫雷边界越界问题 将两个数组都扩大一圈 由9。主函数调用菜单函数 选择是否进入游戏。主函数中设置随机种子 随机布置雷。9棋盘扩大为11*11。原创 2022-10-21 17:27:02 · 437 阅读 · 0 评论 -
三子棋游戏(C语言)
打印菜单 是否进入游戏初始化棋盘玩家下棋电脑下棋判断输赢继续下棋?赢?输?平局?//game.h # define _CRT_SECURE_NO_WARNINGS 1 # include # include # include # define ROW 3 # define COL 3 //初始化棋盘 void init_Board(char board , int row , int col);原创 2022-10-18 21:38:12 · 693 阅读 · 0 评论 -
打印100~200之间的素数(C语言)4种方法
/方法一:试除法 int main() {// 外层循环用来获取100~200之间的所有数据,100肯定不是素数,因此i从101开始 for(i = 101;i原创 2022-10-06 19:18:16 · 1875 阅读 · 2 评论