视频 里的一个题目
int main()
{
//编写一个函数void strling(char s[],char t[])
//将字符串t链接到字符串s的尾部;
char s1[20] = "michaet";
char s2[] = "jackson";
strling(s2, s1);
printf("%s\n",s2);
return 0;
}
void strling(char s[],char t[])
{
int i = 0;
while (s[i] != 0) {
i++;
}
int j = 0;
while (t[j] != 0) {
s[i] = t[j];
i++;
j++;
}
}
本来调用(s1,s2)
printf(s1)没问题
可是为什么调用(s2,s1)的时候
printf(s2)的时候会多一个s1的最后一位字符
但是为什么把s2的字符限定个数后比如s2[20]又正常了,这是为什么啊
|