为什么这样不能正常计算str3的长度。
程序代码:#include<iostream>
using namespace std;
int lenstr(char str[20])
{
int i=0;
int sum=0;
while(str[i]!='\0')
{
sum++;
i++;
}
return sum+1;
}
void catstr( char str1[20],char str2[20])
{
int t,i=0,j=0;
t=lenstr(str1);
char str3[20];
while(str1[i]!='\0')
{
str3[i]=str1[i];
i++;
}
str3[i]='\0';
i=0;
while(str2[i]!='\0')
{
str3[t-1]=str2[i];
i++;
t++;
}
str3[t]='\0';
printf("%s",str3);
cout<<lenstr(str3);
}
void main()
{
char str1[20] ;
char str2[20];int t;
scanf("%s",str1);
scanf("%s",str2);
catstr(str1,str2);
},我想用这个程序把一个字符串连接到另一个字符串后面,然后输出原字符串和(连接在一起的字符串),并且计算和输出(连接在一起的字符串)的长度。可是cout<<lenstr(str3);没这句的时候可以输出(连接在一起的字符串),但加上这句不但输出的长度是错的,连输出的字符串也有问题。







真的是这样,我找了一晚上都没发现,真是太感谢您 了!