C语言,指针易错点

1、封装函数,用指针实现字符串连接

#include <stdio.h>
#include <string.h>
void MyStrcat(char *dest,char *src)
{int i;for(i=0;*(dest+i);i++);for(int j=0;*(src+j);j++)*(dest+i++)=*(src+j);*(dest+i)=0;
}
int main(int argc, const char *argv[])
{char dest[20]="1234";char src[]="6798";MyStrcat(dest,src);puts(dest);return 0;
}【输出样例】12346798

2、下面的代码有什么错误?

void test()
{char string[10];char *str1="0123456789";strcpy(string,str1);}//字符串"0123456789"的字符长度为11,字符数组string[]的字符长度为10,将str1拷贝到string中会导致数组越界

3、请问下面的代码有什么问题?

int main()
{char a;char *str=&a;strcpy(str,"hello")printf(str)return 0;
}
//代码存在两处错误,第一处错误:调用strcpy与printf函数后未使用分号结尾,第二处错误:定义的a为单字符,指针str指向a的地址,无法将字符串常量"hello"拷贝给str

4、有什么错?

char* s="AAA";
printf("%s",s);
s[0]='B';
printf("%s",s);
//指针指向字符串常量"AAA"在.ro,只能读取不能修改,s[0]='B'对字符串常量进行了修改,会报错

5、下面是一段计算0……100累加和的代码,请指出这段代码中的错误。

int main()
{int *MyData;int Count=100;int Sum,i;for(i=0;i<Count;i++){*MyData++=i;}for(i=0;i<Count;i++){Sum+=*MyData;MyData++;}return Sum;
}
//代码存在两处错误,第一处错误:i<Count,使得i=100无法进去循环,不能满足题意,第二次错误:int *MyData定义了一个野指针,会造成计算机混乱,本意应该是定义一个一维数组,指针MyData指向一维数组的地址

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/17710.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Sentinel持久化实战

前言 Sentinel有pull&#xff08;拉&#xff09;模式&#xff0c;和push&#xff08;推&#xff09;模式。本文是使用reids实现pull模式。 通过SPI机制引入自己的类 在项目的 resources > META-INF > services下创建新文件&#xff0c;文件名如下&#xff0c;内容是自…

宝塔 安装/使用/备份数据 Jenkins-图文小白教程

一、Jenkins包下载 大家可以从Jenkins官网&#xff08;https://www.jenkins.io/&#xff09;根据自己的需要下载最新的版本。 但Jenkins官网下载较慢&#xff0c;容易造成下载失败。可以去国内的开源镜像网站下载Jenkins最新版本。目前博主使用的是清华大学的开源镜像网站&…

浅谈Node.js中的npm和yarn

官方文档&#xff1a; npmhttps://www.npmjs.cn/ yarnhttps://yarn.bootcss.com/ npm和yarn的作用 yarn和npm都是构建和打包javascript代码的工具 区别 npm&#xff1a; 1npm使得js开发者易于分享其为解决特定问题而编写的代码&#xff0c;且可供其他开发者在他们自己的应…

第十一章:C语言数据结构与算法初阶之排序

系列文章目录 文章目录 系列文章目录前言排序的概念及其运用排序的概念常见的排序算法 常见排序算法的实现1.直接插入排序2. 希尔排序&#xff08;缩小增量排序&#xff09;3. 直接选择排序4. 堆排序5. 冒泡排序6. 快速排序将区间按照基准值划分为左右两半部分的常见方式&#…

4 切割纸片

4 切割纸片 作者: 赵晓鹏时间限制: 1S章节: 动态规划与贪心 ---------------------------------输入 6 4 1 1 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 1 1 0 0 1 1 --------------------输出结果 4 #include <iostream> #include <vector> #include <climits&g…

Java 类概念简介

Java 是一种面向对象编程语言&#xff08;POO&#xff09;&#xff0c;它代表了封装、继承和多态性等概念。面向对象编程的功能是经典的&#xff0c;也是Java 对象创建的基础元素。在这篇文章中&#xff0c;我们讨论了 Java 中的类资源管理器&#xff0c;对创建者进行了评论&am…

TCP 协议(三)十种核心机制

1.确认应答&#xff08;可靠机制&#xff09; 2.超时重传&#xff08;可靠机制&#xff09; 3.连接管理&#xff08;可靠机制&#xff09; 4.滑动窗口&#xff08;效率机制&#xff09; 5.流量控制&#xff08;效率机制&#xff09; 6.拥塞控制&#xff08;效率机制&#xff09…

1 怎样用plsql developer导表数据

一 导少量表的情形 1.1 导出 点击‘工具’-‘导出表’&#xff1a; 选择要导出的用户和表&#xff0c;在’PL/SQL Developer’那里指定‘输出文件’&#xff0c;点击‘导出’按钮开始导出&#xff1a; 导出完毕后&#xff0c;最下方会提示‘正在导出表… 完成’。 --如果只想…

【Redis】2、Redis应用之【根据 Session 和 Redis 进行登录校验和发送短信验证码】

目录 一、基于 Session 实现登录(1) 发送短信验证码① 手机号格式后端校验② 生成短信验证码 (2) 短信验证码登录、注册(3) 登录验证① 通过 SpringMVC 定义拦截器② ThreadLocal (4) 集群 Session 不共享问题 二、基于 Redis 实现共享 session 登录(1) 登录之后&#xff0c;缓…

java版电子招标采购系统源码之电子招标采购实践与展望-招标采购管理系统

统一供应商门户 便捷动态、呈现丰富 供应商门户具备内外协同的能力&#xff0c;为外部供应商集中推送展示与其相关的所有采购业务信息&#xff08;历史合作、考察整改&#xff0c;绩效评价等&#xff09;&#xff0c;支持供应商信息的自助维护&#xff0c;实时风险自动提示。…

Prometheus - Concept

一 Prometheus 是什么 Prometheus 是一个开源的 监控和报警系统 。该系统内置和基于时间序列地抓取、存储、查询、绘图数据、报警。 现在是一个开源项目&#xff0c;继 K8S 后的第二个云原生计算基金会的托管项目&#xff0c;可见其火爆程度。 二 Prometheus 的特征 Promet…

Mysql (insert,update操作)

1.创建表&#xff1a; 创建员工表employee&#xff0c;字段如下&#xff1a; id&#xff08;员工编号&#xff09;&#xff0c;name&#xff08;员工名字&#xff09;&#xff0c;gender&#xff08;员工性别&#xff09;&#xff0c;salary&#xff08;员工薪资&#xff09; …