C言語の基礎についてさらに進めていこう。
なお、C言語のインストールについてはこちらを参照していただきたい。↓
文字列の末尾には必ず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クリエイティブ
コメント