连接两个字符串,怎么不行呢?
连接两个字符串,为什么输出是"This is ",arr2没连接上呢?帮我改一下吧。
#include<iostream>
using namespace std;
int main()
{
char arr1[]="This is ";
char arr2[]="a string!";
cout<<"arr1="<<arr1<<endl;
cout<<"arr2="<<arr2<<endl;
char *p1=arr1, *p2=arr2;
int m=sizeof(arr1)-1;//arr1存储的字符数
int n=sizeof(arr2)-1;//arr2存储的字符数
char *p3=new char[m+n+1];
int i=0;
for(i=0; i!=m+1; ++i)
{
*(p3+i)=*(p1+i);
}
for(i=m+1; i!=m+n+1; ++i)
{
*(p3+i)=*(p2+i-m-1);
}
cout<<"连接后为:"<<p3;
delete []p3;
return 0;
}