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

要求自定义函数char*strcat_z(char*s,char*t),将字符串t复制到字符串s的末端,并返回字符串s的首地址。好难,求大神给个详细点的方法... 要求自定义函数char *strcat_z(char *s,char *t),将字符串t 复制到字符串s的末端,并返回字符串s的首地址。好难,求大神给个详细点的方法 展开
 我来答
enjoy冰心玉壶
推荐于2017-09-18 · TA获得超过798个赞
知道小有建树答主
回答量:224
采纳率:100%
帮助的人:99.4万
展开全部

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

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

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式