C言語のきほん「文字列の基本(4)」

スポンサーリンク
プログラミング C言語

今回は、「文字列を後ろから逆に表示するプログラム」である。

なお、本プログラムは、Windows 11 Home(23H2)上で、  Visual Studio Code(1.89.1)を使用して作成し、gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0でコンパイルしている。

文字列を後ろから逆に表示するプログラム

//文字列を後ろから逆に表示するプログラム

#include <stdio.h>

//文字列sの長さを返す
int str_length(const char s[])
{
    int len = 0;
    while(s[len])
        len++;
    return len;
}

//文字列sを逆から表示
void put_stringr(const char s[])
{
    int i = str_length(s);
        while(i-- > 0)
            putchar(s[i]);

}

int main(void)
{
    char str[256];

    printf("文字列strを入力してください:");
    scanf("%s",str);

    printf("strを逆から読むと:");
    put_stringr(str);
    putchar('\n');

    return 0;

}

実行結果

文字列strを入力してください:ABCDEF
strを逆から読むと:FEDCBA

関数str_length
ナル文字を見つけるまで走査することで、文字列sの長さを求める。
長さ用の変数lenを0で初期化しておき、繰り返しの度にインクリメントする。
走査が終了すると、lenと値を返却する。

関数put_stringr
文字列sを逆順に走査しながら表示する。文字列sの長さを関数str_lengthで求めておき、それから文字列を末尾から先頭へと走査する。

参考)新・解きながら学ぶC言語 第2版 柴田望洋 (監修・著)、 由梨かおる(著)SBクリエイティブ

コメント

タイトルとURLをコピーしました