C语言
文章平均质量分 69
el psy congroo
为世界上所有的美好而战
展开
-
自定义类型(结构体 , 枚举 , 联合)详解
位段的成员必须是 int / unsigned int 或 signed int(c99之后,也可以有其他类型,但基本都是int , char)位段的成员名后面有一个冒号和一个数字注意用,分隔。原创 2023-10-19 18:17:27 · 78 阅读 · 0 评论 -
程序环境和预处理
_FILE__ //进行编译的源文件的名称__LINE__ //文件当前的行号__DATE__ //文件被编译的日期__TIME__ //文件被编译的时间__STDC__ //如果编译器遵循ANSIC,其值为1,否则未定义这些预定义符号是语言内置的语法:#define 机制包含了一种规定,允许把参数替换到文本中,这种实现通常称为宏(macro) 或定义宏其中的 parament-list 是一个由逗号隔开的符号表,它们可能出现在stuff中,参数列表的左括号必须与name紧邻。原创 2023-10-18 23:43:46 · 109 阅读 · 0 评论 -
字符串左旋 与 字符串旋转结果
实现一个函数,可以左旋字符串中的k个字符。例如:ABCD左旋一个字符得到BCDAABCD左旋两个字符得到CDAB。原创 2023-10-13 22:50:27 · 494 阅读 · 0 评论 -
猜凶手 和 猜名次
某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。以下为4个嫌疑犯的供词:A说:不是我。B说:是C。C说:是D。D说:C在胡说已知3个人说了真话,1个人说的是假话。现在请根据这些信息,写一个程序来确定到底谁是凶手。原创 2023-10-12 22:23:52 · 54 阅读 · 0 评论 -
C语言文件操作
在程序设计中,我们一般谈的文件有两种:程序文件和数据文件(从文件功能的角度来分类)功能函数名适用于字符输入函数fgetc所有输入流字符输出函数fputc所有输出流文本行输入函数fgets所有输入流文本行输出函数fputs所有输出流格式化输入函数fscanf所有输入流格式化输出函数fprintf所有输出流二进制输入fread文件二进制输出fwrite文件。原创 2023-10-11 23:49:24 · 58 阅读 · 0 评论 -
指针与数组
回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说是回调函数.qsort是一个库函数,使用快速排序的方式对数据进行排序(这里我们采用冒泡排序的方式)C99中,结构体中的最后一个元素允许是未知大小的数据,这就叫做柔性数组成员。令arr是二维数组的数组名,是首元素( &arr[0] )的地址。&p[4][2] - &a[4][2] 等于-4。两种定义方式(arr[] 和 arr[0])原创 2023-10-08 23:53:32 · 56 阅读 · 0 评论 -
动态内存管理
向内存申请一块连续可用的空间,并返回指向这块空间的起始地址malloc函数如果申请内存成功,返回申请到的空间的起始地址如果申请失败,则返回NULL指针,不能使用了(所以返回值一定要做检查)如果参数size为0,取决于编译器malloc函数申请的空间,是怎么释放的呢?1.free 释放 – 主动2. 程序退出后,malloc申请的空间也会被操作系统回收 – 被动。原创 2023-10-08 17:41:04 · 35 阅读 · 0 评论 -
strncpy 和 strcmp的实现
此函数开始比较每个字符串的第一个字符。如果它们彼此相等,则继续比较,直到字符不同或达到终止空字符。将 C 字符串 str1 与 C 字符串 str2 进行比较。原创 2023-09-24 12:42:13 · 51 阅读 · 0 评论 -
strncat 和 strstr函数实现
【代码】strncat 和 strstr函数实现。原创 2023-09-23 22:17:06 · 65 阅读 · 0 评论 -
解决scanf的一些疑惑
(3)scanf在处理对字符数据的输入时,既不会忽略前面的空白字符,默认也没有任何分隔字符。所有的字符,包括空白字符都会被当成输入字符。原创 2023-09-22 23:45:27 · 1471 阅读 · 2 评论 -
strerror 与 strtok
strtok函数的第一个参数不为NULL,函数将找到str中的第一个用作分隔符的字符,改为 \0 ,保存它在字符串中的位置。如果字符串中不存在更多的用作分隔符的字符,调用一次之后再进行一次第一个参数是NULL函数调用,则返回NULL指针。(strtok函数会改变被操作的字符串,所以使用strtok函数切分的字符串一般都是临时拷贝的内容并且可修改)strtok函数的第一个参数为NULL,函数将在同一个字符串中被保存的位置开始,查找下一个用作分隔符的字符。参数是个字符串,定义了用作分隔符的字符集合。原创 2023-09-22 22:03:21 · 43 阅读 · 0 评论 -
内存函数(memset的使用, memcpy, memmove的实现)
memset(内存设置)以字节为单位设置内存.因为是以字节为单位,所以不能把整型数组改为1,但可以让数组初始化为0.原创 2023-09-21 22:48:07 · 42 阅读 · 0 评论 -
字符函数(分类,转换)
头文件都是原创 2023-09-21 20:59:40 · 44 阅读 · 0 评论 -
斐波那契数列:统计每个月兔子的总数 ,青蛙跳台
青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。有一种兔子,从出生后第3个月起每个月都生一只兔子,小兔子长到第三个月后每个月又生一只兔子。跳一级的次数( arr[n-1] )加上 跳两级的次数( arr[n-2] )原本的兔子( arr[n-1] )加上生的兔子( arr[n-2] )例子:假设一只兔子第3个月出生,那么第5个月开始每个月生一只兔子。一月的时候有一只兔子,假如兔子都不死,问第n个月的兔子总数为多少?跳上n阶台阶有两种情况(青蛙跳一级和跳两级)原创 2023-08-29 16:18:50 · 130 阅读 · 1 评论 -
牛客网题目:单词倒排
3、要求倒排后的单词间隔符以一个空格表示;如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符;1、构成单词的字符只有26个大写或小写英文字母;数据范围:字符串长度满足 1≤n≤10000。2、非构成单词的字符均视为单词间隔符;对字符串中的所有单词进行倒排。4、每个单词最长20个字母;输入一行,表示用来倒排的句子。原创 2023-08-29 00:00:29 · 86 阅读 · 1 评论 -
数字在非降序数组中出现的次数
int i = 0;for (i = 0;原创 2023-08-21 20:18:21 · 89 阅读 · 1 评论 -
喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以喝多少汽水(编程实现)。
17到8多出来的那个空瓶。原创 2023-08-13 17:54:23 · 86 阅读 · 1 评论 -
求最大公约数和最小公倍数的方法
1.辗转相除法(最推荐)b即为所求最大公因子。解析:被除数和除数拥有同样因子的情况下,除数和余数也一定拥有相同的因子A=B*C+DD=A-B*C若有公因子k,则D=a*k-b*k*C=k(a-b*C)余数D也有公因子k2.更相减损术出自《》的一种求的算法第一步:任意给定两个正整数;判断它们是否都是偶数。若是,则用2约简;若不是则执行第二步。第二步:以较大的数减较小的数,接着把所得的差与较小的数比较,并以大数减小数。继续这个操作,直到所得的减数和差相等为止。原创 2023-06-21 11:08:04 · 1227 阅读 · 0 评论 -
数据在内存中的存储
大端小端其实指的是数据以字节为单位在内存中存储的顺序。大端字节序存储:把数据的低位存放在内存的高地址处,把数据的高位存放在内存的低地址处小端字节序存储:把数据的低位存放在内存的低地址处,把数据的高位存放在内存的高地址处。原创 2023-08-11 17:22:27 · 62 阅读 · 1 评论 -
操作符难点详解
补码怎么来的都是对补码进行操作都是对补码进行操作。原创 2023-08-06 14:59:14 · 91 阅读 · 1 评论 -
隐式类型转换
如果某个操作符的各个操作数属于不同的类型,那么除非把其中一个操作数转换为另外一个操作数的类型,否则操作无法进行。下面的层次体系称为寻常算术转换。(把小的转换为大的)),都必须转换成int或unsigned int,然后才能送去CPU去执行运算。(符号位是1补充1,是0补充0)表达式中各种长度小于int的整型值(产生了计算就有整型提升。按照变量的数据类型的。原创 2023-08-04 23:09:34 · 50 阅读 · 1 评论 -
模拟实现strlen和strcpy
count++;原创 2023-08-03 05:02:02 · 65 阅读 · 0 评论 -
汉诺塔问题
给定三根柱子,记为 A,B,C ,其中 A 柱子上有 n 个盘子,从上到下编号为 1 到 n ,且上面的盘子一定比下面的盘子小。问:将 A 柱上的盘子经由 B 柱移动到 C 柱最少需要多少次?① 一次只能移动一个盘子②大的盘子不能压在小盘子上。原创 2023-08-02 17:55:24 · 61 阅读 · 0 评论 -
递归-字符串逆序打印和反向排列
逆序打印:将数组内部的所有元素进行反向输出,而数组本身内部元素顺序并未发生改变。反向排列:将原来的数组内部的所有元素重新排列为逆序。原创 2023-08-01 22:49:38 · 476 阅读 · 2 评论 -
C语言-扫雷小游戏(含递归)
扫雷的玩法:在一个方块矩阵中随机布置一定量的地雷,再由玩家排雷,以找出所有地雷为最终游戏目标。如果玩家排除所有地雷或翻开的地方有地雷,则游戏结束。原创 2023-07-30 23:20:41 · 239 阅读 · 1 评论