• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ポインタ)

逆順表示プログラム:ポインタ配列の要素の文字列を逆順に表示する方法

このQ&Aのポイント
  • C言語を使用して、文字列を逆順に表示するプログラムを作成する方法を教えてください。
  • ポインタを使用して文字列の逆順表示を行う際、各要素に対して考慮する必要があるj変数についても詳しく教えてください。
  • ポインタ配列の各要素に代入された文字列を逆順に表示するためのプログラムを作成したいのですが、うまくいきません。ポインタを使用して文字数を数える方法がわかりません。

質問者が選んだベストアンサー

  • ベストアンサー
  • NNori
  • ベストアンサー率22% (377/1669)
回答No.2

一個目の j=? のところは、文字列の長さが必要ですね。 jを0から1つづつ増やしていって文字列の最後までカウントアップさせます。 for( j = 0 ; *( words[i] + j + 1) != '\0' ; j++ ); 二個目の while( ? ) の部分は j が0までやればよいのでこうなります。 while( j >= 0 ) ひとつめのfor 文の真ん中の節で 1 足しているのがわかりにくいかもしれませんね。 次の文字がNULLになってるかどうかを判断したくて1足してます。

owada5
質問者

お礼

ご回答ありがとうございました。

その他の回答 (1)

  • asuncion
  • ベストアンサー率33% (2127/6289)
回答No.1

#include <stdio.h> #include <string.h> #define COUNT (3) int main(void) { char *words[COUNT] = { "apple", "orange", "strawberry" }; int i, j; for (i = 0; i < COUNT; i++) { printf("ポインタ配列[%d]の文字列の逆は", i); for (j = strlen(words[i]); j >= 0; j--) { printf("%c", *(words[i] + j)); } printf("です.\n"); } return 0; }

owada5
質問者

お礼

ご回答ありがとうございました。

関連するQ&A