c语言:编写一个将两个字符串连接成一个字符串的函数。(不能用strcat函数)

#include<stdio.h>main(){charstr1[20]="Hareareyou?",str2[4]="abc";inti;while(str1[i]!=... #include<stdio.h>
main()
{
char str1[20]="Hare are you?",str2[4]="abc";
int i;
while(str1[i]!=0)
{
str1[i]=str2[i];
i++;
str2[i]=0;
}
printf("%s");
}
错在哪?帮忙改一下,谢谢。
展开
 我来答
风若远去何人留
2015-12-22 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450110
专业C/C++软件开发

向TA提问 私信TA
展开全部

1 查找到第一个字符串的结尾

2 遍历第二个字符串,逐一复制到第一个字符串尾部,包括结束符。


代码如下:

void cat_str(char *dst, char *src)
{
    while(*dst) dst ++;
    dst --;
    while(*src) *dst++=*src++;
    *dst='\0';
}
心云细雨
2010-11-30 · TA获得超过687个赞
知道小有建树答主
回答量:316
采纳率:0%
帮助的人:334万
展开全部
#include<stdio.h>
#include<string.h>
void fun(char *a, char *b)
{
int i=strlen(a),j;
for(j=0;j<=strlen(b);j++)
a[i++]=b[j];
}
int main(void)
{
char a[200],b[100];
printf("输入一个字符串:\n");
gets(a);
printf("输入另一个的字符:\n");
gets(b);
fun(a,b);
printf("%s\n",a);
return 0;
}
你的程序想得到什么样的结果?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
allpublic_use
2010-11-30 · TA获得超过268个赞
知道小有建树答主
回答量:566
采纳率:0%
帮助的人:217万
展开全部
cat(*p,*q){
char *c=p;
while(*p!='\0')
p++;
while(*q!='\0')
*p=*q;
return c
}
或者找到strcat 函数,拿出来就好了。

while(str1[i]!=0)
请问你想干嘛,。
你自己debug好了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
挖侠盗
2010-11-30 · TA获得超过107个赞
知道答主
回答量:152
采纳率:0%
帮助的人:76.9万
展开全部
+=
例如:string a = "123";
string b = "321";
string c = a += b;
c等于123321
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ciforyou
2010-11-30 · 超过11用户采纳过TA的回答
知道答主
回答量:61
采纳率:0%
帮助的人:36.3万
展开全部
strcat
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式