[求助]关于字符串的一个问题!
程序如下:/*将两个字符串连接*/
#include <conio.h> /* 此头函数请不要删除 */
char con(char string1[],char string2[],char string[])
{int i,j;
for(i=0;string1[i]!='\0';i++)
string[i]=string1[i];
for(j=0;string2[j]!='\0';j++)
string[i+j]=string2[j];
string[i+j]='\0';
}
main()
{
char s1[100],s2[100],s[100];
printf("input s1:");
scanf("%s",s1);
printf("\ninput s2:");
scanf("%s",s2);
con(s1,s2,s);
printf("\nresult:%s",s);
getch(); /* 此语句请不要删除*/
}
上面红色的那个语句,如果在的话,运行程序,第一次输入abc,第二次输入ABC
结果就是abcABC
可是当那个语句不在的话,结果的最后就会出现一窜乱码(每次乱码的个数不定)。
书上说定义一个数组的时候,如果没赋值的话,就会自动录入'\0'。
可是从上面这个例子看,在abcABC后面却有一串乱码,而不是'\0'退出。
请问详细的原因是什么?
[此贴子已经被作者于2007-8-15 22:01:33编辑过]