![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
beyi
这个作者很懒,什么都没留下…
展开
-
举例概述C语言知识点(‘\0‘、strcpy()函数缓冲区溢出问题、字符数组、struct结构体类型变量申请的地址空间特点)
目录'\0'strcpy()函数及缓冲区溢出问题举例说明(细讲以上内容)‘\0’'\0’表示ASCII码值为0的字符(即null、"")strcpy()函数及缓冲区溢出问题strcpy() 百度百科https://baike.baidu.com/item/strcpy/5494519?fr=aladdin可以从代码strcpy函数的代码中知道,strcpy函数结束运行的条件是遇到’\0’ ,如果遇不到那就一直执行下去。(将会在下面的例子中详细讲)举例说明(细讲以上内容)下面以(实验室成员原创 2021-04-21 23:51:31 · 555 阅读 · 0 评论 -
LCP 06. 拿硬币
#include<stdio.h>// 每次做题前必须先把题意弄明白,若是函数题,要先搞明白各个参数的意思和需要返回的值。//方法1int minCount(int* coins, int coinsSize){ //coins存储每堆的数量 coinsSize代表堆数 int sum=0;//用来存储最少次数; //每次都要除以2,取余2 for(int i=0;i<coinsSize;i++){ sum+=coins[i]/2.原创 2021-02-04 22:28:34 · 104 阅读 · 0 评论 -
1108. IP 地址无效化
char * defangIPaddr(char * address){ char *ret= (char*)malloc(sizeof(char)*22);//ip地址是255.255.255.255共15个字符。加上左右方括号等于21,再加上末尾的'\0'就是共22个字符。 char *r=ret;//为什么要这一行,直接把ret return就不行?//那是因为我们把这个函数运行完了之后ret指向的地址是结尾地址,也就是'\0'存储的地址;*r是为了存储首地址;// 从左到右遍历;遇到.原创 2021-02-04 16:30:20 · 102 阅读 · 0 评论 -
罗马数字转整数
// 这道题的思路:// 1 要把所有的字符和相应的数值都存储起来// 2 每个罗马数字要从左到右遍历,只要现在的数大于左边的数,则左边的数变成负数// 3 遍历到最后所有的数相加完毕,便可得到整数//难点剖析://在编程序的时候发现有个难点就是,没有一个好的方法把相应的字符跟相应数值对应//别人用的是switch 分支结构,总结经验:做题要考虑周全,但不能顾虑太多,要先做出来,不要管算法是否精简。要存就存,不要顾虑内存,要写就写,不要管代码长度。...原创 2021-02-03 22:20:55 · 75 阅读 · 0 评论 -
C语言_字符串
字符串:C语言的字符串是以字符数组的形态存在的不能用运算符对字符串做运算通过数组的方式可以遍历字符串唯一特殊的地方是字符串字面量可以用来初始化字符数组以及标准库提供了一系列字符串函数字符串常量:char * s = “Hello,word”;s 是一个指针,初始化为指向一个字符串常量*由于这个是常量所在的地方,所以实际上s是const char * s,但是由于历史的...原创 2020-05-02 21:29:08 · 353 阅读 · 0 评论 -
C语言(指针、数组 、 const、动态内存分配 )——详解
对象,指针,引用,数组对象的存储位置和机制原创 2020-04-27 23:11:56 · 665 阅读 · 0 评论 -
while (~scanf("%d%d",&n,&m))和while (scanf("%d%d",&n,&m)!=EOF)的用意
#include<stdio.h>int main(){ int n=0; scanf("%d",&n); while(n--) { printf("%d\n",n); } printf("\n"); printf("%d\n",n); return 0;}从以上代码可知 while(n- -) 在n==-1时退出循环#include<st...原创 2020-02-03 15:12:47 · 2856 阅读 · 1 评论