镜缘浮影 小人本住在 苏州的城外 家里有屋又有田 生活乐无边

那些年我们一起忘掉的C (十二).字符串拼接

2016-11-23
wilmosfang
c
原文地址 http://soft.dog/2016/11/23/c-basic-12/

前言

熟练运用字符型指针可以灵活操作字符串


概要


写一个能实现两个字符串拼接功能的函数

写一个函数,实现两个字符串拼接的功能(不准使用库函数strcat),在main函数中输入2个字符串 hello world ==== helloworld

char *mycat(char *s1,char *s2);

代码注解

#include <stdio.h>
#define LENGTH 20

char *mycat(char *s1,char *s2) //定义一个函数,接收两个指针型参数
{
	char *p=s1; //将s1指向的地址进行保存
	for(;*s1 !='\0';s1++); //将指针移动到字符串尾部
	for(;*s2 !='\0';s2++,s1++) *s1=*s2; //将第二个字符串的内容追加到第一个字符串尾部
	*s1='\0'; //在第一个字符串尾部加上字符串的结束符
	return p; //返回第一个字符串的首地址
}

main()
{
	char str1[LENGTH*2],str2[LENGTH];  //定义两个字符型数组保存字符串
	printf("please input two strings (less then %d chars):\n",LENGTH);
	scanf("%s %s",&str1,&str2); //将两个字符串分别保存到数组str1和str2
	mycat(str1,str2); 
	printf("the acture string is : %s\n",str1);
	return 0;
}

思路

直接使用指针,在第一个字符串的后面续上第二个字符串的内容

基础知识点

  • 指针的用法
  • 指针作为函数参数
原文地址 http://soft.dog/2016/11/23/c-basic-12/

评论