c言語で文字列を反復処理する方法

C言語では、ループを使用して文字列を反復処理できます。よく使われる方法は、forループと文字列の長さを使用して文字列を反復処理する方法です。以下にサンプルコードを示します。

#include <stdio.h>

int main() {
    char str[] = "Hello World";
    int length = sizeof(str) / sizeof(str[0]);
    
    for (int i = 0; i < length; i++) {
        printf("%c ", str[i]);
    }
    
    return 0;
}

str[] は文字配列で文字列を格納する配列です。変数 length には文字列の長さが格納されます。 for ループによって文字列の文字が1文字ずつ取り出され、 printf を使って出力されます。このプログラムを実行すると、次のような出力が得られます。

H e l l o   W o r l d

文字列を走査するもう 1 つの方法は、ポインタを使用する方法です。以下にサンプルコードを示します。

#include <stdio.h>

int main() {
    char str[] = "Hello World";
    char *ptr = str;
    
    while (*ptr != '\0') {
        printf("%c ", *ptr);
        ptr++;
    }
    
    return 0;
}

上記コードの`ptr`は文字列を指すポインタで、文字列の先頭アドレスを初期化しています。その後、`while`ループを使用して、ポインタが指す文字に1つずつアクセスし、`printf`関数を使用してプリントアウトします。`ptr++`操作により、ポインタは1位置後ろに移動します。上記のコードを実行すると、出力結果は次のようになります。

H e l l o   W o r l d
bannerAds