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