C语言
文章平均质量分 50
Ruichen_L
这个作者很懒,什么都没留下…
展开
-
c语言编写三子棋游戏
如何用c语言编写三子棋程序目录如何用c语言编写三子棋程序目录构造运行框架(主函数)将各个功能写成函数menu函数game函数创建一个game.c源文件和game.h头文件梳理game函数需要的功能(各函数)init函数display函数PlayerMove函数ComputerMove函数IsWin函数执行结果展示构造运行框架(主...原创 2018-04-07 15:31:11 · 621 阅读 · 0 评论 -
有规律的二维数组中查找一个数
二维数组中查找一个数 题目 一个二维数组中,每行按照左到右递增,每列按照上到下递增,完成一个函数可以找到数组的一个数。有返回true,无返回false。分析不需要遍历数组,根据规律,从右上角开始,小的在左边,大的在下面。 看代码理解。 代码#include <stdio.h>#include <stdbool.h&...原创 2018-07-20 15:45:03 · 279 阅读 · 0 评论 -
c语言动态内存开辟实现通讯录系统-链表
通讯录 实现一个通讯录系统含有:添加,删除,查找,展示,退出等功能。&nbsp;思路创建一个person结构体包含 name;phone;age 等信息;还需一个结构体指针因为要以链表的方法(动态内存开辟)来写,所以在结构细中还需要一个结构体指针来存储下一个结构体变量的地址,这样就可以连续不断的找到下一个人的信息struct Person{ char ...原创 2018-05-28 23:05:18 · 435 阅读 · 0 评论 -
c实现通用冒泡排序
实现通用冒泡排序我们在c语言的学习中都学过冒泡排序,但是我们的冒泡排序写成函数时往往有类型的限制,这就使我们今后的使用变得不够方便,所以想到实现一个通用的冒泡排序函数。 &nbsp;原理分析在库函数中有一个通用的快速排序函数,我们思考他的参数设计,并模仿设计出我们通用的的冒泡排序函数 bubble_sort 我们将他的函数参数拿出来看,在图中下方给出了每个参数的英文解释,我再...原创 2018-05-20 22:15:33 · 678 阅读 · 0 评论 -
main函数的参数
main函数的参数在初学C语言时,我们首先学的就是main函数,也就是c语言程序的主函数, 我们的main函数一般有这两种写法int main(){ return 0;}void main(){}我们发现main函数后面的()内并没有参数,但其实main函数是有参数的 main函数完整有三个参数,应该是这样的int main(int argc,...原创 2018-04-29 01:03:52 · 847 阅读 · 0 评论 -
模拟实现memmove函数
模拟实现memmove函数 分析试看这样一道题 int arr[6] = {1,2,3,4,5,6}; 将数组前4个元素复制到后4个元素上,即将数组变为 {1,2,1,2,3,4} 将数组还原为初始在将后四个元素复制到三个元素上,即为 {3,4,3,4,5,6}说到拷贝我们一定会想到上一篇博客中模拟的memcpy函数 但是用memc...原创 2018-05-12 15:49:21 · 359 阅读 · 0 评论 -
模拟实现memcpy函数
模拟memcpy函数 功能及原理我前几篇博客写的都是和字符串有关的函数,但实际工作中我们不禁想拷贝字符还想拷贝数组,那用字符拷贝就无法实现,这时就需要用到memcpy函数。接收内存中的两个地址,和需要拷贝内容的字节数,进行拷贝。头文件#include <stdio.h>#include <assert.h>库函数的memcpy...原创 2018-05-11 22:19:53 · 304 阅读 · 0 评论 -
模拟实现printf函数
模拟实现printf函数 首先需要学会可变参数的使用。不会的可以看上一篇博客思路一般printf函数的使用格式如下printf("%s,%d,%c","hello",12,'f');观察知道,第一个参数是一个字符串,后面是可变参数第一个字符串的内容决定后面可变参数的类型遍历第一个字符串我们遇到%时要对后面的字符判断,是否代表一种类型,然后在后面的可变...原创 2018-05-05 12:13:21 · 245 阅读 · 0 评论 -
模拟实现strcmp函数
模拟实现strcmp函数 原理接收两个字符串地址比较两个字符串,相同返回0,不同时大于返回正数小于返回负数 头文件#include <stdio.h>#include <assert.h> 代码int my_strcmp(const char *str1, const char *str2){ as...原创 2018-05-10 00:02:17 · 221 阅读 · 0 评论 -
模拟实现strstr函数
模拟实现strstr函数&nbsp;原理接收两个字符串地址,在第一个字符串中寻找是否出现第二个字符串。代码char *my_strstr(const char* str1, const char* str2 ){ assert(str1 != NULL); assert(str2 != NULL); if(*str2 == '\0') ...原创 2018-05-09 23:50:40 · 195 阅读 · 0 评论 -
模拟实现strcat函数
模拟实现strcat函数&nbsp;原理接收两个字符数组地址,将第二个(源字符串)的内容拼接到第一个(目标字符串)的后面拷贝过程与strcpy类似,需多一步骤:寻找到目标字符串的 ‘\0’ 位置&nbsp;代码char *my_strcat(char *dest, const char *src ){ assert(dest != NULL); ...原创 2018-05-09 22:24:21 · 438 阅读 · 1 评论 -
模拟实现strcpy函数
模拟实现strcpy&amp;nbsp;原理第一个参数为目标字符数组,第二个参数为源字符串直到源遇到’\0’停止复制返回值为目标字符串地址,便于链式访问需要的头文件#include &amp;lt;stdio.h&amp;gt;#include &amp;lt;assert.h&amp;gt;代码实现char *my_strcpy(char *dest, const char *src原创 2018-05-09 11:22:27 · 187 阅读 · 0 评论 -
模拟实现strlen函数——3种方法
三种方法模拟实现strlen函数 原理接受一个地址字符数组或字符串地址向后寻找直到出现‘\0’返回值为字符个数即字符串长度,可链式访问需要的头文件#include <stdio.h>#include <assert.h> 计数器法int my_strlen(const char *s) //只...原创 2018-05-09 11:19:43 · 285 阅读 · 0 评论 -
C语言可变参数
可变参数c语言中实现可变参数列表我们c语言中实现一个函数时我们会根据需要为它设计参数,当我们调用函数时必须给他对应的参数,不然就会出错。那我们如果参数个数不能确定,又必须要实现这个函数该怎么办呢?如题: 实现一个函数求一组数(个数不定)的平均数 传参数,第一个参数为数的个数,后面每个为每个数的值 例如:average(3,1,2,6) 输出3。那这就要依靠可...原创 2018-05-01 15:01:18 · 258 阅读 · 0 评论 -
函数调用过程-函数栈帧
函数栈帧函数是程序中必不可少的一个部分,整个程序的运行几乎都是由一个个函数之间互相调用来完成的,我们的main函数,printf函数,还有编程时我们自己写的函数,它们时我们的程序简介高效。那么一个函数在内存中到底是如何调用的?如何实现函数的种种功能的?深度解析看这样一段代码#include <stdio.h> int Add(int x, int y)...原创 2018-04-23 16:29:13 · 324 阅读 · 0 评论 -
编程实现英语句子按单词倒叙-C语言
C语言实现英语句子按单词倒叙 题目:有一个字符数组的内容为:”student a am i”,请你将数组的内容改为”i am a student”. 要求: 不能使用库函数。只能开辟有限个空间(空间个数和字符串的长度无关)。分析及解题思路可以看出这句话(字符串)是以单词为单位倒叙,即单词本身内部并不倒叙。所以不可以将整个字符串倒叙。思路:先将整个字符串倒叙(此时...原创 2018-04-10 00:31:28 · 3183 阅读 · 0 评论