字符逆序解析

77 阅读1分钟

字符逆序

题目要求: 把一个字符串str的内容颠倒过来 并 输出 要使用最小的空间实现

思路: 定义两个指针 分别指向头元素和尾元素 头++ 尾-- 两边同时进行 交换 直到两边汇于同一个元素 或者是头指针的地址大小大于尾指针的地址大小

代码:

#include <stdio.h>
#include <string.h>
int main()
{
  char str[10001];
  gets(str);
  char *begin = str;
  char *end = strlen(str)+str-1;
  while(str<end){
    char tmp = *begin;
    *begin = *end;
    *end = tmp;
    begin++;
    end--;
  }
  printf("%s",str);
  return 0;
}