在主函数中输入两个字符串,连接后的字符串输出(不得使用strcat()函数)。

在主函数中输入两个字符串,写一函数将其连接,再在主函数中将连接后的字符串输出(不得使用strcat()函数)。我不想用第三个空string.就是把第二个string接到第... 在主函数中输入两个字符串,写一函数将其连接,再在主函数中将连接后的字符串输出(不得使用strcat()函数)。
我不想用第三个空string.就是把第二个string接到第一个上。不能用指针和strcat. 用以下方法不行,求问哪里错了,怎么改。谢谢,

#include<stdio.h>
void main()
{
void link(char str1[],char str2[]);
char string1[40],string2[20];
printf("sentence 1:");
scanf("%s\n",string1);
printf("sentence 2:");
scanf("%s\n",string2);
link(string1,string2);
printf("the final sentence is: %s\n",string1);
}
void link(char str1[],char str2[])
{
int i=0,j=0;
while(str1[i]!='\0')
i++;
while(str2[j]!='\0')
{
str1[i++]=str2[j++];
}
str1[i]='\0';
}
一定要用函数的。我run出来永远只有string1的结果,求帮助。
展开
 我来答
微俊king
推荐于2017-12-16 · TA获得超过576个赞
知道小有建树答主
回答量:626
采纳率:50%
帮助的人:564万
展开全部
把scanf()改成gets()
或者在scanf()后加getchar();
因为第二个字符串接受了你的回车 相当于\n
你可以打印看一下
追问
第二个字符串是怎么接受我的回车的呢? 能解释下吗? 我刚开始学,不好意思。
然后还有,我用了gets()之后管用了,但是如果我输入一句话比如:
string1: a girl
string2: with a hat
连接起来就成了: a girlwith a hat
中间没有空格啊,怎么修改呢
追答
同学 不要逗好么 中间没有空格是因为你输入的没有空格
scanf()比如说你输入了gjweoiweg然后回车
str1接收了这个字符串 回车这个字符将会成为下个字符串的内容 所以用scanf对字符串输入要注意这个问题
中间没有空格 你直接加一个空格不就行了
Rankabc
2014-06-05 · TA获得超过3561个赞
知道大有可为答主
回答量:3705
采纳率:59%
帮助的人:1062万
展开全部
void link(char str1[],char str2[])
{
 int i=0,j=0;
 while(str1[i]!='\0')
  i++;
  i--;//
 while(str2[j]!='\0')
 {
  str1[i++]=str2[j++];
 }
 str1[i]='\0';
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
草根英雄1
2014-06-05 · TA获得超过409个赞
知道小有建树答主
回答量:379
采纳率:0%
帮助的人:232万
展开全部
这个题目就是要自己实现一个strcat。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式