为什么这样不能正常计算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);没这句的时候可以输出(连接在一起的字符串),但加上这句不但输出的长度是错的,连输出的字符串也有问题。