好奇葩的错误
题目是让我交换两个字符串#include<stdio.h>
#include<string.h>
int main()
{
int t,i;
void swap(char **x,char **y);
char s1[80],s2[80],c;
scanf("%d",&t);
for(i=1;i<=t;i++)
{ scanf("%c",&c);
gets(s1);
gets(s2);
swap(&s1,&s2);
printf("Case %d :\n",i);
puts(s1);
puts(s2);
}
return 0;
}
void swap(char **x,char **y)
{
char *s;
s=*x;
*x=*y;
*y=s;
}
输入1
abcdefg
hijklm
他输出的是
hijkefg
abcdlm
--为什么只交换了前面4个。。。。。