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