如何完全反转C样式字符串

aka*_*tia 0 c string algorithm pointers

我想完全反转C样式字符串(以null结尾),即包含空字符.

null字符应该是反向字符串中的第一个元素.

Thi*_*ter 14

这实际上非常简单:

char *reversed = "";
Run Code Online (Sandbox Code Playgroud)

:)

以a开头的AC字符串'\0'是空字符串.除非你用指针做事(比如加+1)或使用期望内存(指针+大小)而不是字符串的函数,否则后面的内容并不重要'\0'

如果您确实需要在以下内容之后将实际字符串存在于内存中'\0':执行将反转字符串写入给定内存位置的函数(void strreverse(char *dest, const char *string)).然后这样称呼它:char dest[ENOUGH_SPACE]; dest[0] = '\0'; strreverse(dest + 1, YOUR_STRING);

  • 喔!touche !!! 我的+1:D (2认同)