C语言字符串连接问题 20

C语言字符串连接问题为什么字符串连接后超出了Str1的范围,str1还能正常输出... C语言字符串连接问题为什么字符串连接后超出了
Str1 的范围,str1还能正常输出
展开
 我来答
莹谷面1939
2018-04-09 · 超过99用户采纳过TA的回答
知道小有建树答主
回答量:333
采纳率:71%
帮助的人:25.7万
展开全部
可以使用系统提供的函数strcat,若要自己实现的话思路如下: 1.获得两个字符串的长度,相加,开辟一个长度为前面两个字符串长度和的数组; 2.将两个字符串中的值依次赋值到新的字符串中。
追问
我的问题不是这个
我的问题是str1和str2连接后超出str1范围,为什么还能正常输出
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
DoramiHe
2018-04-09 · 知道合伙人互联网行家
DoramiHe
知道合伙人互联网行家
采纳数:25332 获赞数:59542
2011年中山职业技术学院毕业,现担任毅衣公司京东小二

向TA提问 私信TA
展开全部
Please input str1:123
Please input str2:456
123456
Press any key to continue

#include <stdio.h>
char*mystrcat(char*str1,char*str2);
void main()
{
char str1[50];
char str2[50];
char *str;
printf("Please input str1:");
gets(str1);
printf("Please input str2:");
gets(str2);
str=mystrcat(str1,str2);
puts(str);
}
char *mystrcat(char*str1,char*str2)
{
char*str=str1;
while (*str) //把*str移动到str1的最后
*str++;
while(*str2) //然后再往后面续上str2
*str++=*str2++; //否则str2 就把str1内容给覆盖了
*str='\0';
return str1;
}
追问
我的问题是str1和str2连接后超出str1范围,为什么还能正常输出
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式