用到#include<string.h>的头文件
void str_reverse(char *str)
{
int len,i ,j=0;
char temp;
len =strlen(str); //得到字符长度
for(i=len-1;i>=len/2;i--)//对换一半的次数,=是为了偶数情况
{
temp=str[i]; //最后一个临时存储
str[i]=*(str+j); //把第一个付给最后一个
*(str+j)=temp; //第一个得到最后一个的值
j++;
}
}
int main()
{
char buf[6]="abc";
str_reverse(buf);
printf("buf=%s\n",buf);
}
不调用string.h头文件
void str_reverse(char *str)
{
int len=0,i ,j=0;
char temp;
while(*(str+len++)!='\0');//得到最后的长度
len--; //len最后++指向了'\0'故减去一
for(i=len-1;i>=len/2;i--)
{
temp=str[i];
str[i]=*(str+j);
*(str+j)=temp;
j++;
}
}
int main()
{
char buf[6]="abc";
str_reverse(buf);
printf("buf=%s\n",buf);
}