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言語の文字列にのみ有効です。別の文字列を逆順出力する場合は、引数の渡し方を変える必要があります。