- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ポインタ)
逆順表示プログラム:ポインタ配列の要素の文字列を逆順に表示する方法
このQ&Aのポイント
- C言語を使用して、文字列を逆順に表示するプログラムを作成する方法を教えてください。
- ポインタを使用して文字列の逆順表示を行う際、各要素に対して考慮する必要があるj変数についても詳しく教えてください。
- ポインタ配列の各要素に代入された文字列を逆順に表示するためのプログラムを作成したいのですが、うまくいきません。ポインタを使用して文字数を数える方法がわかりません。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
一個目の j=? のところは、文字列の長さが必要ですね。 jを0から1つづつ増やしていって文字列の最後までカウントアップさせます。 for( j = 0 ; *( words[i] + j + 1) != '\0' ; j++ ); 二個目の while( ? ) の部分は j が0までやればよいのでこうなります。 while( j >= 0 ) ひとつめのfor 文の真ん中の節で 1 足しているのがわかりにくいかもしれませんね。 次の文字がNULLになってるかどうかを判断したくて1足してます。
その他の回答 (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; }
質問者
お礼
ご回答ありがとうございました。
お礼
ご回答ありがとうございました。