C言語で文字列を逆順に出力する方法

再起または反復で文字列を逆順に出力できます。

再帰的に実装しましょう。

再帰的なアプローチでは、最終文字以外の部分文字列の逆順を出力してから、最終文字を出力します。実装は次のようになります。

void printReverse(char str[]) {
if (str[0] == '\0') {
return;
} else {
printReverse(str + 1);
putchar(str[0]);
}
}
int main() {
char str[100];
printf("Enter a string: ");
fgets(str, sizeof(str), stdin);
printf("Reverse of the string is: ");
printReverse(str);
return 0;
}

方法二:循环实现

最後の文字から順番に、最初の文字までを指定する。

void printReverse(char str[]) {
int len = strlen(str);
for (int i = len - 1; i >= 0; i--) {
putchar(str[i]);
}
}
int main() {
char str[100];
printf("Enter a string: ");
fgets(str, sizeof(str), stdin);
printf("Reverse of the string is: ");
printReverse(str);
return 0;
}

二つの方法はどちらも、文字列を逆順に出力することができる。どの方法を使うかは、実際のニーズに合わせて適切な方法を選択すればよい。

bannerAds