自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 输入整数,输出相应字符串

#include<stdio.h>#include<stdlib.h>#include<math.h>int main(){void zhuanhuan(long long n);long long q =0;scanf("%lld", &q);printf("\n");zhuanhuan(q);system(“pause”);r...

2020-04-01 20:29:58 2209

原创 函数指针

函数指针就是指向函数的指针,它是一个变量,所以它可以作为另外一个函数的参数,也可以作为数组元素。函数指针本质上是地址,调用地址就可以调用该函数int(*p)(int,int);上面就是一个有两个整型参数,返回值是整型的函数指针,她可以被所以具有上面特点的函数赋值,单独赋值是用函数指针调用函数。那么他作为数组的话就可以进行多个函数调用int(*p[3])(int,int);那么数组信息就来...

2020-03-26 10:13:18 193

原创 常量参数和函数调用

什么是常量参数?常量参数是普通参数的一种,但是在函数调用中,地址或地址指向的值,或者两者,可以加const,那么在函数调用中就不会改变你不想改变的东西。举例如下:void function(const charp,int n)大家都知道,在变元传递时,仅仅是值传递,比如将一个charpa型地址传递给以上函数,那么pa的值传递过去,被调函数可以用这个值做任何事情,但是和pa没有任何关系,因为改变...

2020-03-22 07:49:06 1250 1

原创 地址和函数调用问题

以前感觉对地址比较了解了,但是在学习了函数调用后,发现自己对有些概念是很模糊的。在学习函数调用,特别是在调用时用地址改变值的时候更是如此。如果对指针的概念没有明确的掌握,又加上调用的时候涉及到好几个知识点,是很难搞明白调用的过程以及函数调用时地址如何改变地址上的值。这里如果理解不好,对运用C语言解决问题有很大的阻碍。所以首先要重复一下指针的知识,这个很重要,不能模棱两可,要有清晰的概念,否则再加...

2020-03-20 15:47:10 852

原创 函数定义,返回值及各部分的关系

函数是有一定功能的一个代码块,因为C云雨烟处理数据的关系,而内存存储不同类型的值有不同的存放方法,所以任何数据都有类型,任何东西也必须有名称,所以函数定义就是函数类型(返回值类型) 函数名称(参数类型1 参数名称1,参数类型2 参数名称2…){函数体}也就是函数对参数进行处理,返回一定的数据,这也是函数的功能。关于void 和return :可以这么理解,函数可以分为有无返回值和需不...

2020-03-15 16:49:01 1138

原创 关于内存动态分配的几个要点

动态分配其实并不难,虽然全程用指针,但是就像是在建楼房,过程就是:1,首先得建第一层,这时要开辟楼层的内存;2,建第一层里的房间,这时要开辟盛房间的内存;3,然后房间里可以放东西了;顺序不一定严格如上,比如我可以先建房间。我的习惯是在脑海里想象内存存储注意事项:1,有些顺序要严格,每一步要做什么必须清楚2,程序进行到哪一步,比如该复制还是检查,必须明确3,使用malloc cal...

2020-03-14 09:35:44 193

原创 用内存动态分配记录每天的6个浮点温度,并求平均温度

#include<stdio.h>#include<stdlib.h>#include<ctype.h>//1,开辟每天的温度和天数内存,平均温度2,输入温度,并把温度放入天上3,计算平均温度int main(){int tian = 0;int shiji = tian + 1;int mei = 6;doublepmei = (double...

2020-03-14 09:11:27 289

原创 scanf()函数在循环中的应用

scanf()函数在循环中,特别是多次输入数据时,在数据,空格,和’\n’之间老弄不明白,导致编的程序与自己想的不一样,今天测试了一遍,发现的他们之间的关系:结论是:多次输入数据(中间有空格),最后是’\n’时,scanf()函数接收数值,对空格不理睬。但如果不小心输入非空格,非数字,scanf()也会接收。特别是scanf(),后面还有scanf()时,两个scanf()会依次接收缓存区你输入...

2020-03-12 18:03:24 5114

原创 布尔值在循环中的用法

布尔值真的很好用,其实细想一下也很好理解,但是很多人(包括我)在编程时,没有掌握其用法,今天就来聊一聊布尔值在循环中的用法,属个人见解,但是任何知识点只有让自己理解了,才能真正的掌握,并不仅仅是同意别人的观点。现在疫情很厉害,我觉得可以举一个这样的例子。假如一个小区有病人...

2020-03-09 23:50:48 2213

原创 malloc calloc realloc函数动态分配问题

计算机中难得东西不像其他学科,去探究未知领域,计算机中的困难是怎么发现已知的东西,也就是说答案肯定存在,看个人有没有毅力去揭晓。今天看到一句话,想要吃掉一头鲸鱼,最有效的办法是一口一口吃。这句话对学计算机来说太合适了。 malloc函数参数是所需字节的数目,返回值是所需类型的地址,比如 int*pa=(int*)malloc(5*sizeof(int)); 这个语句这么理解...

2020-03-08 22:07:35 174

原创 动态分配统计短文中的单词数目

#include<stdio.h>#include<stdlib.h>#include<string.h>#define HANG 20#define TEXT 100#define ZENG 5int main(){char deli[] = “,. ;?\n”";//开辟内存存行和文章内存char* phang = (char*)mall...

2020-03-08 20:40:07 124

原创 二维数组

二维数组可以看成一维数组,b[3][4]有三个元素:b[0],b[1],b[2],我们可以称它为一级一维数组,他的元素是地址;而这三个元素每个元素又有4个元素组成,我们可以称他为二级一维数组,数组名是b[0],b[1],b[2],他的元素是数据。 那么b[1][1]如何表示呢?这是一级数组第二个地址元素的第二个数据元素。要找个这个数据,需要找到其地址,找到其地址的办法很多: 因为...

2020-03-07 17:25:12 293

原创 浪费了的7天

自从今年立目标后,我一直很努力,有时每天睡5个小时,但是从2.27-3.4这七天,我没有投入我的精力,而是在网上搞事情,这是诱惑的一种。今天才找回自己,我很害怕。害怕自己还会浪费7天,最终可能是害怕自己人生被霍霍完而含恨次生。作为32岁的我,没有10年青春可以继续浪费,甚至1分钟都没资格浪费。今天发了一个朋友圈:我们有时不是缺乏目标,不是缺乏动力,打败我们的有时是生活中的诱惑,他会吞噬时间,捎带...

2020-03-05 17:45:35 114

原创 循环+数组+字符串函数经典例题

从键盘输入一段文章,统计单词出现的次数,这个题涉及循环,数组,字符串处理函数知识,哪一方面薄弱都解决不了问题,即使都理解,不会用也不行,会用但是在循环中各个量的变化情况不了解也不行,需要着三方面知识综合运用#include<stdio.h>#include<stdlib.h>#include<string.h>#define HANG_SIZE 100...

2020-02-25 15:25:44 364

原创 浅谈指针

指针就是地址,用指针来说更形象,因为计算机引用数据不像在源程序中一样,引用变量,而是通过地址引用数据,所以引用地址的时候,好像指向了数据的值,所以叫他指针。上片文章已经写了指针的基本概念和指针与数据之间的关系,现在分享一下指针的几个特点;1,指向常量的指针:int a=5;const intpa=&a;也就是x=5;定义了一个指向常量的指针,记住从此pa=5;这个语句再也不能改...

2020-02-25 11:55:10 120

原创 指针的理解

源程序中引用变量,就可以引用变量的值,但是计算机在处理源程序时,以地址的方式处理变量。也就是说每个变量必须有地址,当然这个地址中的值是可以变化的,因为它盛的是变量。当然不同的变量地址不同。这就需要不同的地址。那么就可以定义一个类型的变量,叫指针变量,专门盛变量的地址,为了区别和其他非地址变量的不同,定义时加*,因为这个变量有两个属性,一个是地址属性,第二地址中肯定有值,所以这个变量比一般变量功...

2020-02-23 07:46:19 111

原创 strtod函数

strtod()函数有点绕,但可以理解。char a[]=“3.2 4.5 6.8”;charc=a;chard=NULL;strtod(c,&d);strtod(第一个参数,第二个参数):第一个参数是需要转换数值的字符串首地址;第二个参数是转换后第一个子字符串的首地址的地址。所以继续调用函数,会转换第二个子字符串。值的问题:找到可以转换的子字符串,转化后,d的值是第一个...

2020-02-21 21:34:41 1484

原创 各种数据格式用法,int,long,double等等

有符号整型:char, short, int, long, longlongscanf输入: %c %hd %d %ld %lld定义 char 3 3 3l 3ll字节数 1 2 4 4 ...

2020-02-21 17:34:33 640

原创 2020年有感

断断续续的学C语言一年多的时间了,但是自己应该没掌握到啥东西,作为边工作边养家糊口边学习的我,似乎没有抱怨的理由,因为我要实现人生价值,呵呵,要实现人生价值,无论什么情况都不需要去抱怨。 感觉自己渐渐喜欢上了计算机,无论中间经历了各种激励自己的理由,现在似乎有一个理由:学会它,然后再是其他的人生价值,同时感觉这是一辈子需要学习的学科:只要不是休息,不是工作,不是陪家人,其余时间就要来学...

2020-02-21 16:42:03 392

原创 strtok,strtok_s函数用法

strtok_s有得编译器不支持,实在不行,用strtok也能编程,strtok_s更安全一点(两者的参数不同),实在不行,可以查MSDN看看他们的用法strtok函数有两个参数:char a[]=“sdssdsds”;char b[]="@#$%^^&,;. '";strtok(a,b),a需要单元化的字符串,b界定符返回值:理解返回值,首先要理解函数过程:分两次调用:第一...

2020-02-21 11:45:23 4295

原创 字符串函数返回值问题

strnlen_s:首字符是NULL,返回0,其他情况,返回实际长度(不包括\0),或第二个参数值;strcpy_s,strcat_s:成功返回0;不成功有得编译器非零,我的编译器程序崩溃;scanf_s,成功返回1,失败返回0;strcmp,根据两个字符串大小,分别返回大于等于小于0的数;strchr,strstr成功返回找到的字符地址,失败返回0;gets_s,成功返回首字符地址,失...

2020-02-20 13:54:38 948

原创 字符串处理函数用法:strnlen_s,strcpy_s,strcat_s,strcmp,scanf_s

字符串处理函数,必须对头文件string,h执行include处理1,计算字符串长度函数,不包括\0,注意它和sizeof()的不同,sizeof()计算数组长度,不但包括\0,而且是数组总长度,strnlen_s计算数组中字符的个数,不包括\0.strnlen_s(计算字符数组的首地址,计算字符数组的长度),返回值:一,若地址是NULL,返回值是0,二地址是其他,返回值是字符串中的字符数,...

2020-02-20 08:45:36 2875 1

原创 井字游戏代码

#include<stdio.h>#include<stdlib.h>#include<stdbool.h>int main(){unsigned int player = 0;unsigned int xia = 0;bool winner = 0;unsigned int row = 0;unsigned column = 0;//定...

2020-02-17 13:04:37 734

原创 西蒙游戏代码

#include<stdio.h>#include<stdlib.h>#include<ctype.h>#include<stdbool.h>#include<time.h>int main(){unsigned int score_c = 0;unsigned int zuichang = 0;const unsign...

2020-02-13 17:21:13 497

原创 simon游戏中scanf()问题,求大神拯救!!!

执行下面这条语句,根本不给输入的机会!咋办printf(“你是否要继续玩?N/Y\n”);/当3次机会用完但没有答对的时候,提示要不要继续玩/fflush(stdin);scanf("%c", &answer);#include<stdio.h>#include<stdlib.h>#include<time.h>#include<st...

2020-02-12 11:20:57 76

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除