写一个程序,输入两个字符串,输出连接后的字符串。

要求自定义函数char *strcat_z(char *s,char *t),将字符串t 复制到字符串s的末端,并返回字符串s的首地址。好难,求大神给个详细点的方法
最新回答
-她滥我情

2024-05-02 11:36:10

在主函数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;
}

运行结果,如果有什么不明白的还可以问我