P005 实现两个字符串的连接 ★

03-程序设计题 软件121, 唐鼎威 1129浏览

所属年份:2012.3;
编写函数fun,其功能是:实现两个字符串的连接(不要使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串的后面。

例如,分别输入下面两个字符串:
FirstString--
SecondString
程序输出:
FirstString--SecondString

#include <stdio.h>
void fun(char p1[], char p2[])
{


}

main()
{    char s1[80], s2[40] ;
     printf("Enter s1 and s2:\n") ;
     scanf("%s%s", s1, s2) ;
     printf("s1=%s\n", s1) ;
     printf("s2=%s\n", s2) ;
     printf("Invoke fun(s1,s2):\n") ;
     fun(s1, s2) ;
     printf("After invoking:\n") ;
     printf("%s\n", s1) ;
}

【考点分析】
本题考查:不使用字符串函数实现字符串连接操作。通过for循环语句来完成,不要忘了最后需要加上字符串结束标识’\0’。

【解题思路】
本题用两个循环完成操作,第1个循环的作用是求出第1个字符串的长度,即将i指到第1个字符串的末尾。第2个循环的作用是将第2个字符串的字符连到第1个字符串的末尾。最后在第1个字符串的结尾加上字符串结束标识′\0′。

【参考答案】

void fun(char p1[], char p2[])
{
	int i,j;
	for(i=0;p1[i]!='\0';i++) ;  
	for(j=0;p2[j]!='\0';j++)
              p1[i++]=p2[j];
        p1[i]='\0';
}