![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
UN_spoken
才开始认真学习C语言没有多久,我觉得CSDN是一个很好的平台,它可以记录我每天学习的点滴,可以让我看见自己的成长,当我看见自己写的代码越来越多,会的题目也越来越多,我还是非常开心的。真的是没有比看见自己每天在成长,在学习,在进步更让人鼓舞的事了。同样,我也十分感谢每一位博主,很多时候你们的博客在很大程度上替我解决了我的疑难问题,让我对于一个问题有了不一样的看法,不一样的思路和不一样的体会。我真诚地希望大家可以一起学习,一起探讨,一起进步。诚如是,生命不息,奋斗不止。
展开
-
深度理解指针
首先,指针是什么呢?我们看这样一段代码 #include<stdio.h>int main(){ int a = 10;//在内存中开辟一块空间 int *p = &a;//取出变量a的地址,用&操作符 //将a的地址存放在p变量中,p就是一个指针变量 return 0;} 知道了这些以后,让我们再来看几个有关...原创 2018-06-04 22:57:54 · 263 阅读 · 0 评论 -
static用法总结
static//是一个关键字1.当它作用于函数定义时,或者用于代码块之外的变量声明时,static关键字用于修改标识符的连接属性。外部链接属性变为内部链接属性,标识符的存储类型和作用域不受影响。也就是说变量或者函数只能在当前源文件中访问。不能再其他源文件中访问。2.当它作用于代码块内部的变量声明时,static关键字用于修改变量的存储类型。从自动变量变为静态变量。变量的属性和作用域不受...原创 2018-11-22 12:39:42 · 221 阅读 · 0 评论 -
平方怪圈
平方怪圈如果把一个正整数的每一位都平方后再求和,得到一个新的正整数。对新产生的正整数再做同样的处理。如此一来,你会发现,不管开始取的是什么数字,最终如果不是落入1,就是落入同一个循环圈。请写出这个循环圈中最大的那个数字。以下为原码:#include <stdio.h>int main(int argc, char *argv[]){ int num = 0;...原创 2018-04-21 21:46:44 · 370 阅读 · 0 评论 -
正整数求和数字统计
问题描述对于输入的两个正整数a和b,计算书籍0~9分别在a+b(a和b和)中出现的次数,并按数字从小到大的次序输出每个数字的出现次数(没有出现过的数字不输出)。例如,a为100,b为55,则a+b为155,其中数字1出现了1次,数字5出现了2次,其他数字没有出现,因此应输入1:1 5:2.输入说明输入数据第一行是一个正整数T(0<T<=100),表示有T组测试数据,每组两...原创 2018-04-22 20:35:59 · 1006 阅读 · 0 评论 -
密码脱落
密码脱落X星球的考古学家发现了一批古代留下来的密码。这些密码是由A、B、C、D 四种植物的种子串成的序列。仔细分析发现,这些密码串当初应该是前后对称的(也就是我们说的镜像串)。由于年代久远,其中许多种子脱落了,因而可能会失去镜像的特征。你的任务是:给定一个现在看到的密码串,计算一下从当初的状态,它要至少脱落多少个种子,才可能会变成现在的样子。输入一行,表示现在看到的密码串(长度不大于...转载 2018-04-22 22:33:41 · 208 阅读 · 0 评论 -
一个好玩的死循环
有这样一个程序int main(){ int arr[10] = {1,1,1,1,1,1,1,1,1,1}; int i = 0; for(i=0; i<=12;i++) { arr[i] = 0; } return 0;} 最后的结果是什么呢? 死循环。为什么呢?首先,我们...原创 2018-04-24 08:26:38 · 271 阅读 · 0 评论 -
我所理解的程序环境和预处理
程序的翻译环境和执行环境翻译环境首先一个源文件会通过编译器的编译过程形成目标文件,其次每个目标文件由链接器捆绑在一起,形成一个单一而完整的可执行文件(.exe),当然连接器同时也会引入标准C函数库中任何被该程序所用到的函数,而且它可以搜索程序员个人的程序库,将其需要的函数也链接到程序中。编译本身也有好几个阶段 预编译阶段(*.i)(gcc -E) 预处理指令,比如#i...原创 2018-04-25 16:29:33 · 242 阅读 · 0 评论 -
i am a student
题目描述有一个字符数组的内容为“student a am i”. 请你将数组的内容改为“i am a student”.要求不能使用库函数,只能开辟有限个空间(空间个数和字符串的长度无关)。 第一种是利用数组实现的解决方案方案一:#include<stdio.h>#include<assert.h>void swap(char *a...原创 2018-04-27 20:44:24 · 476 阅读 · 0 评论 -
左旋字符串
题目:实现一个函数,可以左旋字符串中的K个字符。如ABCD 左旋一个字符得到BCDAABCD左旋两个字符得到CDAB最简单的方法莫过于再创建一个数组,直接把左旋之后的字符串放进去,但是往往我们遇到的问题是不创建额外的数组空间,因此,我便想到了另一种方法。那便是:交换大法。例如:ABCD左旋一位,那么我们可以让A和B交换,得到BACD;再让A与C交换,得到BCAD;最后再让A与D交换得到...原创 2018-05-12 19:23:04 · 208 阅读 · 0 评论 -
判断一个字符串是否为另外一个字符串旋转之后的字符串
题目描述:判断一个字符串是否为另外一个字符串旋转之后的字符串给定s1 = AABCD 和s2 = BCDAA,返回1,给定s1 = abcd 和s2 = ABCD ,返回0.AABCD左旋一个字符得到ABCDAAABCD左旋两个字符得到BCDAA AABCD右旋一个字符得到DAABC我是这样解决的,我觉得完全可以一直左旋下去,如:AABCD 左旋一次得到ABCDA,判断...原创 2018-05-12 23:38:30 · 267 阅读 · 0 评论 -
如何求两个数的平均数
有两个数a,b,如何求这两个数的平均数呢?方案一:(a+b)/2;但是这种方案可能会产生上溢出。方案二:b+(a-b)/2或b+(a-b)>>1;前提是a比b大,即小的数加上大的数减去小的数的一半,这种方案还不错。方案三:(a&b)+((a^b)>>1)这种方法就运用了位运算,比较好。原理是:a&b 就是a和b相同位数的平均值,而(a...原创 2018-05-24 17:11:56 · 2925 阅读 · 0 评论 -
可变参数列表解析
有的时候你有没有想过一个函数可以实现处理可变个参数呢?也就是说你可以传一个参数,也可以传两个参数,也可以更多,那么要如何来实现呢?那我们先来看这样一个例子:这个例子是用一个函数来实现求任意个参数的平均值的#include<stdio.h>#include<stdarg.h>int average(int n,...){ va_list arg; in...原创 2018-05-24 23:35:49 · 186 阅读 · 0 评论 -
关于string库函数的实现
关于<string.h>库函数的实现1. strlen的实现 strlen = string lenth;int strlen(const char * str); 原理比较简单,就是求一个字符串的长度。所以也有很多种方法实现。//法一:int my_strlen(const char * str){ int count = 0; a...原创 2018-05-28 23:32:52 · 425 阅读 · 0 评论 -
找到一个数组中只出现一次的数
你有没有遇到这样的题,在一个数组中,只有1个数字出现一次,其他的数字都出现了两次,那么你能找到这个只出现一次的数字么?这只是简单的1.0版本,还有如果在这个数组中,有两个数字出现了一次,其他的数字都出现了两次,那么你能找到这两个数字么?还有2.0版本,三个数字出现一次呢?四个呢?五个呢?你要怎么去实现呢?首先,我们一步一步来,从找一个数字开始,其实,如果不是考虑到内存的关系,用桶排序是...原创 2018-05-30 21:52:17 · 3237 阅读 · 0 评论 -
main函数的参数解析
其实main函数也是有参数的。int main(int argc,char* argv[],char* envp[])那么这三个参数分别代表什么含义呢?第一个参数:argc是个整数变量,表示命令行参数的个数(含第一个参数)。第二个参数:argv是个字符指针的数组,每个元素是一个字符指针,指向一个字符串。这些字符串就是命令行中的每一个参数(字符串)。第三个参数:envp是字符指...原创 2018-06-04 20:22:43 · 2814 阅读 · 0 评论 -
10进制和2进制的相互转换(C/C++实现)
1、将输入的 2 进制字符串转换为 10 进制数输出。这里我将输入的2进制作为字符串去处理更为方便,直接用C语言实现:#include<stdio.h>#include<string.h>#include<math.h>int TwoToTen(char * str2){ int len = strlen(str2); int i = 0;...转载 2019-05-15 21:51:48 · 4333 阅读 · 0 评论