原型如下:

char *my_strcat(char *dst,char const *src)

思想:函数要求dst参数已经包含了一个字符串,找到这个字符串的末尾,并把src字符串添加到这个位置。

要求:1.dst参数指向的字符串至少是一个空字符串;

2.必须保证目标字符数组剩余的空间足以保存整个源字符串;

3.函数返回第一个参数的一份拷贝,即一个指向目标字符数组的一个指针。

代码如下:

#include<stdio.h>
#include<string.h>
#include<assert.h>
char *my_strcat(char *dst,char const *src)
{char * ret=dst;assert(dst);//assert((dst !=NULL)&&(src != NULL));assert(src);//对源地址和目的地址进行非空断言while(*dst !='\0'){dst++;}/*while(*dst++=*src++){NULL;}*/while(*dst=*src){dst++;src++;}//此处加语句*dst='\0' 没有必要return ret;
}
int main()
{char arr[50]="where there is a will,";char *a ="there is a way.";printf("%s\n ",my_strcat(arr,a));getchar();return 0;
}

运行结果:

【c语言】my_strcat实现字符串连接相关推荐

  1. c语言数据库的连接字符串函数,C语言strcat()函数:连接字符串

    头文件:#include strcat() 函数用来连接字符串,其原型为: char *strcat(char *dest, const char *src); [参数]dest 为目的字符串指针,s ...

  2. c++ 字符串连接_C语言字符串操作总结大全(超详细)

    本篇文章是对C语言字符串操作进行了详细的总结分析,需要的朋友参考下 1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, ...

  3. Nwafu-OJ-1418 Problem P C语言实习题四——1.字符串连接

    问题 P: C语言实习题四--1.字符串连接 时间限制: 1 Sec  内存限制: 128 MB 题目描述 由键盘任意输入两串字符,不用库函数strcat,连接将两串字符. 输入 两串字符 输出 将两 ...

  4. c语言宏定义的连接符##和#转字符串

    c语言宏定义的连接符有哪些 [此问题的推荐答案] (一)宏定义中的## 连接符与# 符 ## 连接符号由两个井号组成,其功能是在带参数的宏定义中将两个子串(token)联接起来,从而形成一个新的子串. ...

  5. C语言 | 将两个字符串连接起来,不用stract

    例67:C语言编写一个程序,将两个字符串连接起来,不要用strcat函数. 解题思路:首先要有两个键盘录入,实现录入字符串1和字符串2,然后实现拼接,读者看这道例题的时候,可以先想想要是用strcat ...

  6. C语言经典例86-两个字符串连接

    目录 1 题目 2 分析 3 实现 4 运行结果 1 题目 两个字符串连接,有字符串str1和str2,假设str1足够大,要求将str2连接到str1后面 2 分析 我们知道string.h中有字符 ...

  7. 基于visual Studio2013解决C语言竞赛题之1012连接字符串

         题目 解决代码及点评 /* 编写一个函数JOIN,让它实现字符串连接运算功能. */ #include <stdio.h> #include <stdl ...

  8. 字符串连接 (c语言)

    题目描述 将给定的字符串连接起来.书中的算法描述如下: 图:字符串连接算法 输入描述 三对字符串,每对字符串占一行,用空格隔开.每个字符串只包含数字和英文字母大小写且长度不超过100. 输出描述 将后 ...

  9. 用c语言编写:将两个字符串连接起来,不使用stract()函数

    可以使用指针操作和循环来将两个字符串连接起来.以下是一个简单的示例程序,将字符串s1和s2连接起来: #include <stdio.h>int main() {char s1[100], ...

最新文章

  1. ubuntu nohup php,Ubuntu安装PhpStorm并设置快速启动phpstorm
  2. [转]asp.net导出数据到Excel的三种方法
  3. 【加解密学习笔记:第二天】动态调试工具OllyDbg使用基础介绍
  4. FineReport(二)帆软报表图表的
  5. vue 按钮根据状态切换_一个vue实现的标尺插件 - vue-sketch-ruler
  6. 企业如何选择一个合适的可视化工具
  7. 小程序毕设作品之微信小程序点餐系统毕业设计(7)中期检查报告
  8. 移动光猫怎么设置虚拟服务器设置,移动光纤猫如何设置,怎样连接和设置光猫和路由器...
  9. Bootstrap可视化布局系统需要引入的静态资源
  10. docker打包镜像--go语言编写的http项目
  11. 地税系统WEB打印提示未注册
  12. 网络安全规范(范例)
  13. 【软件工程】UML序列图
  14. Promise的基本用法以及作用
  15. reverse()方法
  16. 字符串使用split()方法截取时的空字符串问题
  17. Arcgis中怎么进行遥感影像的标准分幅
  18. ThreadLocal在多线程中的作用和原理浅析(模拟学生入学报到场景)
  19. android瀑布流布局源码,GitHub - dodola/android_waterfall: Android版的瀑布流布局
  20. Random之nextInt函数

热门文章

  1. python后端与前端数据交互_前端与后端的数据交互(jquery ajax+python flask)
  2. openmpi入门1-安装与测试
  3. 未来的计算机元器件,代表未来的不是量子计算机,光计算机才是?
  4. 感谢恩师,感谢有你!
  5. CSS的浮动属性,CSS颜色基本样式
  6. LeetCode.数组中的第k个最大的元素(基于快速排序的选择排序算法)
  7. gazebo(1):gazebo常见问题及解决办法
  8. 共享该计算机的所有用户什么意思,电脑上共享是什么意思
  9. Android毕业设计之小区便民服务APP应用软件
  10. MySQL中字符串类型的字段最大使用longtext来存储