c语言strcopy例子,C语言习题选讲:7.15和10.7 strcopy( )的实现
字符串处理函数也是C语言考试的常见题。最常见的莫过于strlen( )和strcopy( )的实现。
为了区别于库函数strcopy ( ),我们把自己写的字符串复制函数取名为scopy ( )。
程序设计题:
编写函数scopy ( ),它的功能是:将字符串s2的内容复制给字符数组s1。(包括末尾的’\0’)。
请勿改动主函数main()中的任何内容,仅在函数scopy( )的花括号中填入你编写的若干语句。
#include”stdio.h”
void scopy (char *s1, char *s2)
{
}
void main()
{ char str1[20], str2[20]="China";
scopy(str1, str2);
printf("%s\n", str1);
}
解一(下标法):
void scopy (char *s1, char *s2)
{ int i;
for(i=0;s2[i];i++) s1[i]=s2[i];
s1[i]=0; //补末尾的’\0’
}
解二(指针法):
void scopy (char *s1, char *s2)
{
for( ; *s2 ; s1++, s2++) *s1=*s2;
*s1=0;
}
解二的while 写法:将for句改为:
while(*s2) *s1=*s2, s1++, s2++;
有些人喜欢把++写到*s1=*s2中,即while句写成
while(*s2) *s1++ = *s2++;
这个题目可以有些变化,比如10.7要求从s2的第m 个字符开始复制。这个很容易。
解一(下标法):
void scopy (char *s1, char *s2, int m)
{ int i;
for(i=m;s2[i];i++) s1[i-m]=s2[i];
s1[i-m]=0; //补末尾的’\0’
}
解二(指针法):
void scopy (char *s1, char *s2, int m)
{
for(s2+=m ; *s2 ; s1++, s2++) *s1=*s2;
*s1=0;
}
使用while 的写法:将for句改为:
s2+=m; while(*s2) *s1++ =
*s2++;
当然,也可以将strlen( )和strcopy( )合并,即复制的同时,计数字符串的长度。
c语言strcopy例子,C语言习题选讲:7.15和10.7 strcopy( )的实现相关推荐
- 苹果和虫子编程题python_2020智慧树《兽医寄生虫学》免费最全题库2020中国大学mooc《线性代数习题选讲》...
2020智慧树<兽医寄生虫学>免费最全题库2020中国大学mooc<线性代数习题选讲>章节答案 更多相关问题 [多选题]<合同法>第122条规定,因当事人一方违约行 ...
- 动态规划选讲 8.15
动态规划选讲 8.15 动态规划选讲 815 地精部落SDOI 2010 打砖块 另一个打砖块 TreePOJ 1848 Painting the ballsSGU183 CF 611D 洪水概率DP ...
- c语言连接数据库例子,c语言操作mysql数据库小例子_互帮互助(C language MySQL database operation example _ mutual help).doc...
这是精心收集的精品经典资料,值得下载保存阅读! c语言操作mysql数据库小例子_互帮互助(C language MySQL database operation example _ mutual h ...
- c语言冒泡例子,C语言排序实例(选择、冒泡、插入、折半、快速)
#include ///选择法排序 //a:为数组首地址 //n:为数组元素个数 void select_sort(int *a, int n) { int i, j, k, temp; for(i ...
- C++11新特性选讲 语言部分 侯捷
C++11新特性选讲 语言部分 侯捷 本课程分为两个部分:语言的部分和标准库的部分.只谈新特性,并且是选讲. 本文为语言部分笔记. 语言 Variadic Templates move semanti ...
- c语言程序设计 李俊,深入浅出C语言程序设计(第2版)习题集和编程指导
本书是与清华大学出版社出版的<深入浅出C语言程序设计(第2版)>(书号: 9787302391791)一书相配套的辅助教材.书中对主教材各章的重点和难点进行总结,并对各章课后习题进行精讲, ...
- Qt QTranslator多语言翻译例子
Qt QTranslator多语言翻译例子 一.简述 记--使用Q ...
- c语言程序设计德军,C语言程序设计上机实验与习题解答
本书是<C语言程序设计>的配套教材,内容包括三部分,上机实验.教材的习题解答.部分实验教材中的习题答案.其中实验部分严格按照教材的内容次序,针对C语言中的知识点,从简单到复杂,精心组织了实 ...
- 已知小红今年12岁c语言编程,C语言程序设计第轮复习习题.doc
C语言程序设计第轮复习习题 第1章 C语言概述.以下叙述正确的是 . A.在C程序中,main函数必须位于子程序的最前面 B.C程序的每一行中只能写一条语句 C.在对一个C程序进行编译的过程中,可发现 ...
最新文章
- SQL Server 预编译执行SQLs
- c++ 函数的指针调用
- RISC-V应用创新大赛 | 一文详解RVB2601套件 助你快速上手赢比赛
- 通过例子学习 Keystone - 每天5分钟玩转 OpenStack(19)
- 云图说 | 华为云GPU共享型AI容器,让你用得起,用得好,用的放心
- java单个数组求积_[剑指offer][Java]构建乘积数组
- 传统白板行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
- treeset可以重复吗_java容器(五)HashSet与TreeSet
- php获取用户 地区 、ip地址
- R语言大作业(四):上海市、东京 1997-2018 年GDP值分析
- python下载网易云音乐付费歌曲有哪些_学习python总结 - 下载网易云音乐单首歌曲...
- 基础面试题:JSP和Servlet
- Word文件标尺工具被隐藏,怎么恢复
- 输入流-读取文件内容
- 996 会猝死,而企业家 007 却不会?
- 精益技术简历之道——改善技术简历的47条原则
- 一直被世人误解的薛定谔猫:批判量子力学及其残忍的隐喻
- 新颖的自我介绍_新颖一分钟自我介绍4篇
- 重温FPGA开发32
- 用RSA算法加密文本文件
热门文章
- 盘点天龙历史:七年以来所有资料片
- linux下qt和wine,Ubuntu下安装wine详细介绍
- 网易盖楼 java_网易盖楼回复的简易实现
- 福建师范大学计算机应用应用基础问答库,福建师范大学《计算机应用基础》期末试卷A卷.doc...
- git使用报错:Cannot lock
- 京东云携手达达构建行业首个跨云双活平台 应对高并发需求
- 图片水中倒影 【js读书笔记】
- Java入门姿势【面向对象4】 static关键字
- 东芝发布智能栅极驱动光电耦合器,简化功率器件外围电路的设计
- AE中绘制图形元素的方法 (开始学AE时就是照着这个学的)