strrev.c

来自「国外网站上的一些精典的C程序」· C语言 代码 · 共 48 行

C
48
字号
/***  STRREV.C - reverse a string in place****  public domain by Bob Stout*/#include <string.h>#include "snip_str.h"#if defined(__cplusplus) && __cplusplus extern "C" {#endifchar *strrev(char *str){      char *p1, *p2;      if (! str || ! *str)            return str;      for (p1 = str, p2 = str + strlen(str) - 1; p2 > p1; ++p1, --p2)      {            *p1 ^= *p2;            *p2 ^= *p1;            *p1 ^= *p2;      }      return str;}#if defined(__cplusplus) && __cplusplus }#endif#ifdef TEST#include <stdio.h>int main(int argc, char *argv[]){      while (--argc)      {            printf("\"%s\" backwards is ", *++argv);            printf("\"%s\"\n", strrev(*argv));      }      return 0;}#endif /* TEST */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?