C言語で文字を逆順に出力するにはどのようにすればよいですか?

C言語で文字列を逆順に出力する方法はいくつかあります。以下はその簡単な例です。

#include <stdio.h>
#include <string.h>

void reversePrint(char *str) {
    int length = strlen(str);
    for (int i = length - 1; i >= 0; i--) {
        printf("%c", str[i]);
    }
    printf("\n");
}

int main() {
    char str[] = "Hello, World!";
    reversePrint(str);
    return 0;
}

native に直して出力します。

!dlroW ,olleH

この例では、文字配列を引数として受け取るreversePrint関数を定義しました。strlen関数を使用して文字配列の長さを取得し、その後文字配列の最後の文字から文字を1つずつ先頭に向かって表示します。最後に、文字列の末尾に改行を追加しました。

なおこの手法は、’\0’で終わる文字列、すなわちC言語の文字列にのみ有効です。別の文字列を逆順出力する場合は、引数の渡し方を変える必要があります。

bannerAds