读书人

求教各位达人这奇怪的结果如何来的

发布时间: 2012-03-01 10:25:46 作者: rapoo

求教各位达人,这奇怪的结果怎么来的,如何改正得到正确的字符串连接?
我自己写的一字符串连接函数LJ,
#include<stdio.h>
#include<iostream.h>
#include<string.h>
void LJ(char str1[],char str2[])
{static char str3[1]="";
int i;
for(i=0;i<int(strlen(str1));i++)
str3[i]=str1[i];
for(i=int(strlen(str1));i<int(strlen(str1))+int(strlen(str2));i++)
str3[i]=str2[i];
cout<<str3<<endl;
}
void main()
{
char str1[34],str2[43],str4[100];
cin>>str1>>str2;
LJ(str1,str2);
}
在运行时输入made in china后按回车,输出如下奇怪结果:
made in china enter
made烫
press any key to continue



[解决办法]

C/C++ code
void LJ(char str1[], char str2[]) {    static char str3[128] = "";     int i;         for (i = 0; i < int(strlen(str1)); i++)         str3[i] = str1[i];         for (i = int(strlen(str1)); i < int(strlen(str1)) + int(strlen(str2)); i++)         str3[i] = str2[i - int(strlen(str1))];         cout<<str3<<endl; } void main() {     char str1[34],str2[43],str4[100];     cin>>str1>>str2;     LJ(str1,str2); } 

读书人网 >C语言

热点推荐