字符串处理函数也是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( )的实现相关推荐

  1. 苹果和虫子编程题python_2020智慧树《兽医寄生虫学》免费最全题库2020中国大学mooc《线性代数习题选讲》...

    2020智慧树<兽医寄生虫学>免费最全题库2020中国大学mooc<线性代数习题选讲>章节答案 更多相关问题 [多选题]<合同法>第122条规定,因当事人一方违约行 ...

  2. 动态规划选讲 8.15

    动态规划选讲 8.15 动态规划选讲 815 地精部落SDOI 2010 打砖块 另一个打砖块 TreePOJ 1848 Painting the ballsSGU183 CF 611D 洪水概率DP ...

  3. c语言连接数据库例子,c语言操作mysql数据库小例子_互帮互助(C language MySQL database operation example _ mutual help).doc...

    这是精心收集的精品经典资料,值得下载保存阅读! c语言操作mysql数据库小例子_互帮互助(C language MySQL database operation example _ mutual h ...

  4. c语言冒泡例子,C语言排序实例(选择、冒泡、插入、折半、快速)

    #include ///选择法排序 //a:为数组首地址 //n:为数组元素个数 void select_sort(int *a, int n) { int i, j, k, temp; for(i ...

  5. C++11新特性选讲 语言部分 侯捷

    C++11新特性选讲 语言部分 侯捷 本课程分为两个部分:语言的部分和标准库的部分.只谈新特性,并且是选讲. 本文为语言部分笔记. 语言 Variadic Templates move semanti ...

  6. c语言程序设计 李俊,深入浅出C语言程序设计(第2版)习题集和编程指导

    本书是与清华大学出版社出版的<深入浅出C语言程序设计(第2版)>(书号: 9787302391791)一书相配套的辅助教材.书中对主教材各章的重点和难点进行总结,并对各章课后习题进行精讲, ...

  7. Qt QTranslator多语言翻译例子

                                                                Qt QTranslator多语言翻译例子 一.简述        记--使用Q ...

  8. c语言程序设计德军,C语言程序设计上机实验与习题解答

    本书是<C语言程序设计>的配套教材,内容包括三部分,上机实验.教材的习题解答.部分实验教材中的习题答案.其中实验部分严格按照教材的内容次序,针对C语言中的知识点,从简单到复杂,精心组织了实 ...

  9. 已知小红今年12岁c语言编程,C语言程序设计第轮复习习题.doc

    C语言程序设计第轮复习习题 第1章 C语言概述.以下叙述正确的是 . A.在C程序中,main函数必须位于子程序的最前面 B.C程序的每一行中只能写一条语句 C.在对一个C程序进行编译的过程中,可发现 ...

最新文章

  1. SQL Server 预编译执行SQLs
  2. c++ 函数的指针调用
  3. RISC-V应用创新大赛 | 一文详解RVB2601套件 助你快速上手赢比赛
  4. 通过例子学习 Keystone - 每天5分钟玩转 OpenStack(19)
  5. 云图说 | 华为云GPU共享型AI容器,让你用得起,用得好,用的放心
  6. java单个数组求积_[剑指offer][Java]构建乘积数组
  7. 传统白板行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  8. treeset可以重复吗_java容器(五)HashSet与TreeSet
  9. php获取用户 地区 、ip地址
  10. R语言大作业(四):上海市、东京 1997-2018 年GDP值分析
  11. python下载网易云音乐付费歌曲有哪些_学习python总结 - 下载网易云音乐单首歌曲...
  12. 基础面试题:JSP和Servlet
  13. Word文件标尺工具被隐藏,怎么恢复
  14. 输入流-读取文件内容
  15. 996 会猝死,而企业家 007 却不会?
  16. 精益技术简历之道——改善技术简历的47条原则
  17. 一直被世人误解的薛定谔猫:批判量子力学及其残忍的隐喻
  18. 新颖的自我介绍_新颖一分钟自我介绍4篇
  19. 重温FPGA开发32
  20. 用RSA算法加密文本文件

热门文章

  1. 盘点天龙历史:七年以来所有资料片
  2. linux下qt和wine,Ubuntu下安装wine详细介绍
  3. 网易盖楼 java_网易盖楼回复的简易实现
  4. 福建师范大学计算机应用应用基础问答库,福建师范大学《计算机应用基础》期末试卷A卷.doc...
  5. git使用报错:Cannot lock
  6. 京东云携手达达构建行业首个跨云双活平台 应对高并发需求
  7. 图片水中倒影 【js读书笔记】
  8. Java入门姿势【面向对象4】 static关键字
  9. 东芝发布智能栅极驱动光电耦合器,简化功率器件外围电路的设计
  10. AE中绘制图形元素的方法 (开始学AE时就是照着这个学的)