2つのアイデアがあり、一つは補助スペースを適用し、2次スペース、その後、出力にコピー元の文字列を逆にすることです。
もう一つは、することです逆の順序で配置、追加の補助スペースは、この方法は、Exchangeへの文字列の終わりではありません。
する#include <stdio.hに> する#include < 文字列・H> CHAR * str_reverse(チャー *文字列) // 字符指针 { int型のn = STRLEN(STR)/ 2 。 int型私= 0 ; チャー TMP = 0 。 用(i = 0 ; iがn <; iは++ ) { TMP = STR [I]。 STR [I] =列str [strlenを(STR) - 、I - 1 ]。 // 对调 STR [STRLEN(STR) - iは、 - 1 ] = TMP。 } リターンSTR。 } int型のmain() { CHAR S [] = " Hello Worldの!" 。 printf(" str_reverse(S)=%Sを\ n " 、str_reverse(S))。 リターン 0 ; }
直接またはポインタ特性パラメータ、次のように:
する#include <stdio.hに> する#include < 文字列・H> ボイド str_reverse(チャー *文字列) // 字符指针 { int型のn = STRLEN(STR)/ 2 。 int型私= 0 ; チャー TMP = 0 。 用(i = 0 ; iがn <; iは++ ) { TMP = STR [I]。 STR [I] =列str [strlenを(STR) - 、I - 1 ]。 // 对调 STR [STRLEN(STR) - 、I - 1 ] = TMP。 } 戻りSTR。 } int型のmain() { CHAR S [] = " Hello Worldの!" 。 str_reverse(S); printf(" str_reverse(S)=%のS \ n " 、S); リターン 0 ; }
From:https://www.cnblogs.com/lvonve/