#include
#include
int main()
{
char revert(char x[30]);
char a[30];
int c;
gets(a, 30);
revert(a);
printf("%s\n", a);
return 0;
}
char revert(char x[30])
{
int m,n;
m = strlen(x);
char y[30];
for (n = 0;n <= m;n++)
{
y[n] = x[m-1-n];
}
for (n = 0;n <= m;n++)
{
x[n] = y[n];
}
x[m + 1] = "\0";
return(x);
}
怎么改
char revert(char x[30])
返回值类型改为char *
for (n = 0;n <= m;n++)
{
y[n] = x[m-1-n];
}
这也不对,n=m时 ,x[-1]就越界访问了,所以是n<m