写一个程序,输入两个字符串,输出连接后的字符串。
要求自定义函数char*strcat_z(char*s,char*t),将字符串t复制到字符串s的末端,并返回字符串s的首地址。好难,求大神给个详细点的方法...
要求自定义函数char *strcat_z(char *s,char *t),将字符串t 复制到字符串s的末端,并返回字符串s的首地址。好难,求大神给个详细点的方法
展开
1个回答
展开全部
在主函数main()中调用自定义函数char *strcat_z(char *s,char *t),先使指针s移动到第一个字符串的末端,然后循环读取第二个字符串,将每一个字符赋值给指针s,同时指针s自加。自定义函数返回字符串s的首地址,在主函数中也可以读取字符串s了。可能看程序能更明白一些,我复制在这里了
#include<stdio.h>
#include<stdlib.h>
char * strcat_z(char * s,char * t);
int main()
{
char string_1[100];
char string_2[100];
char *result;
printf("please input string 1:\n");
scanf("%s",string_1);
printf("\nplease input string 2:\n");
scanf("%s",string_2);
result=strcat_z(string_1,string_2);
printf("\nthe result is %s\n",result);
return 0;
}
char * strcat_z(char * s,char * t)
{
char * head=s;
printf("\nstring 1 is:\n");
for(;*s!='\0';s++)
{
printf("%c",*s);
}
printf("\n");
for(;*t!='\0';t++)
{
*s=*t;
s++;
}
*s='\0';
s=head;
return s;
}
运行结果,如果有什么不明白的还可以问我
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询