代码如下:
#include <stdio.h>
char * strrev(char *);
int main(void)
{
char str[] = "hello";
printf("%s\n",strrev(str));
return 0;
}
char * strrev(char *str)
{
char *h = str;
char *t = str;
char tmp;
while(*t++){};
t--; //回退t++;
t--; //消除‘/0‘
while(h < t)
{
tmp = *h;
*h++ = *t;
*t-- = tmp;
}
return str;
}
总结:
字符串的字面值是存放在静态数据区的,是不能改变的。所以我们选用字符串数组
时间: 2024-12-18 15:53:05