C言語の基礎「文字列から1文字ずつ取得する」

スポンサーリンク
C言語

C言語の基礎についてさらに進めていこう。
なお、C言語のインストールについてはこちらを参照していただきたい。↓

C言語をパソコンにインストールしよう(Windows編)

C言語をMacにインストールしよう

文字列の末尾には必ずNULL文字がついている。そこで、「NULL文字」が現れるまで、配列の先頭から1文字ずつ取得するプログラムを書いてみよう。

#include <stdio.h>

int main(void)
{
    char str[3][5] = {"ant","bee","moth"};
    
    for (int i = 0;i < 3; i++ ) {
        for (int j = 0;str[i][j] != '\0'; j++) {
            printf("[%c]",str[i][j]);
        }
        printf("\n");
    }
    
	
	return 0;
}

実行結果

[a][n][t]
[b][e][e]
[m][o][t][h]

forループによって、配列のインデックスを0から1ずつ増やしている。繰り返す条件はstr[i][j] != ‘\0’となっている。i番目の文字列(str[i])j番目の文字(str[i][j])がNULL文字でない限り、forループの中の処理を繰り返す。
なお、1文字ずつ取り出していることがわかるように文字を[ ]で挟んで出力している。

2つのインデックスと文字の対応を下図で確認しよう。

参考)「C言語 新版 ゼロからはじめるプログラミング」 三谷 純 (著)‎ 翔泳社、
「新・明解C言語 入門編 第2版 」柴田 望洋 (著) SBクリエイティブ

コメント

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