不知道有啥区别,不过这个需求随便搜都有的
#include <stdio.h>
#include <string.h>
void reverse_string(char *arr)
{
int len = strlen(arr);
char* left = arr; //指向头部的指针
char* right = arr + (len - 1); //指向尾部的指针
char temp;
while(left < right)
{ //使用中间变量进行两个字符的交换
temp = *left;
*left = *right;
*right = temp;
left++; //头指针往后走
right--; //尾指针往前走
}
}
int main()
{
char arr[100];
gets(arr);
reverse_string(arr);
printf("%s", arr); //gfedcba
return 0;
}