字符串倒置中的字符串长度定义问题
下面是个字符串倒置源程序#include<stdio.h>
#include<string.h>
void trans(char *p);
main()
{ char c[5];
printf("请输入一个字符串\n");
gets(c);
trans(c);
puts(c);
}
void trans(char *p)
{ int i,n,t;
n=strlen(p);
for(i=0;i<=(n-1)/2;i++)
{t=*(p+i),*(p+i)=*(p+n-i-1),*(p+n-i-1)=t;
}
}
我就是想问问char[2]中的2是怎么回事,为什么输入超过2个长度的字符串还是可以倒置,比如输入asd会输出dsa???但是输入太长的话输出结果后会自己关掉。
求大神解答!!