1、两个我看都一样的程序,但编译时一个通过,另一个出错,大家帮看看。2、通过的程序执行时,提示访问违例(段异常)
本帖最后由 wolfyc2004 于 2013-12-06 11:55:19 编辑
这个程序是将两个字串合并,可能是我的语法问题,刚学C++,请指教详细点(不用字串合并函数)。谢谢!
#include<iostream>
#include<cstring>
using namespace std;
char *append(char *s1,char *s2)
{
int len1=strlen(s1);
int len2=strlen(s2);
int j=0;
for (int i=len1-1;i<len1+len2;i++)
{
*(s1+i)=*(s2+j);
j++;
}
return s1;
}
int main()
{
char *s,*s1,*s2;
s1="this is ";
s2="a string.";
s=append(s1,s2);
cout<<s<<endl;
system("pause");
}
[解决办法]
很明显是s1的空间不够
[解决办法]