はじめまして。C言語の配列でこの配列の表示を%cで書きたいとおもったのですがうまくいきません。どうすればいいでしょうか?
#include <stdio.h>
int main(void)
{
int i;
char str[3][15] ={ "ABCDE", "xyz", "HelloWorld" };
for(i=0; i<3; i++){
printf("%s\n", str);
}
return 0;
}
こんにちは。
Re:こんにちは。
char str[0][0] ={ 'A'};
char str[0][1] ={ 'B'};
char str[0][2] ={ 'C'};
char str[0][3] ={ 'D'};
char str[0][4] ={ 'E'};
char str[0][5] ={ '\0'};
char str[0][6] ={ '?'};//?は不明
char str[0][7] ={ '?'};//?は不明
char str[0][8] ={ '?'};//?は不明
char str[0][9] ={ '?'};//?は不明
char str[0][10] ={ '?'};//?は不明
char str[0][11] ={ '?'};//?は不明
char str[0][12] ={ '?'};//?は不明
char str[0][13] ={ '?'};//?は不明
char str[0][14] ={ '?'};//?は不明
char str[1][0] ={ 'x'};
char str[1][1] ={ 'y'};
char str[1][2] ={ 'z'};
char str[1][3] ={ '\0'};
char str[1][4] ={ 'x'};
char str[1][5] ={ '?'};//?は不明
char str[1][6] ={ '?'};//?は不明
char str[1][7] ={ '?'};//?は不明
char str[1][8] ={ '?'};//?は不明
char str[1][9] ={ '?'};//?は不明
char str[1][10] ={ '?'};//?は不明
char str[1][11] ={ '?'};//?は不明
char str[1][12] ={ '?'};//?は不明
char str[1][13] ={ '?'};//?は不明
char str[1][14] ={ '?'};//?は不明
char str[2][0] ={ 'H'};
char str[2][1] ={ 'e'};
char str[2][2] ={ 'l'};
char str[2][3] ={ 'l'};
char str[2][4] ={ 'o'};
char str[2][5] ={ 'W'};
char str[2][6] ={ 'o'};
char str[2][7] ={ 'r'};
char str[2][8] ={ 'l'};
char str[2][9] ={ 'd'};
char str[2][10] ={ '\0'};
char str[2][11] ={ '?'};//?は不明
char str[2][12] ={ '?'};//?は不明
char str[2][13] ={ '?'};//?は不明
char str[2][14] ={ '?'};//?は不明
を表示すれば良い??
char str[0][1] ={ 'B'};
char str[0][2] ={ 'C'};
char str[0][3] ={ 'D'};
char str[0][4] ={ 'E'};
char str[0][5] ={ '\0'};
char str[0][6] ={ '?'};//?は不明
char str[0][7] ={ '?'};//?は不明
char str[0][8] ={ '?'};//?は不明
char str[0][9] ={ '?'};//?は不明
char str[0][10] ={ '?'};//?は不明
char str[0][11] ={ '?'};//?は不明
char str[0][12] ={ '?'};//?は不明
char str[0][13] ={ '?'};//?は不明
char str[0][14] ={ '?'};//?は不明
char str[1][0] ={ 'x'};
char str[1][1] ={ 'y'};
char str[1][2] ={ 'z'};
char str[1][3] ={ '\0'};
char str[1][4] ={ 'x'};
char str[1][5] ={ '?'};//?は不明
char str[1][6] ={ '?'};//?は不明
char str[1][7] ={ '?'};//?は不明
char str[1][8] ={ '?'};//?は不明
char str[1][9] ={ '?'};//?は不明
char str[1][10] ={ '?'};//?は不明
char str[1][11] ={ '?'};//?は不明
char str[1][12] ={ '?'};//?は不明
char str[1][13] ={ '?'};//?は不明
char str[1][14] ={ '?'};//?は不明
char str[2][0] ={ 'H'};
char str[2][1] ={ 'e'};
char str[2][2] ={ 'l'};
char str[2][3] ={ 'l'};
char str[2][4] ={ 'o'};
char str[2][5] ={ 'W'};
char str[2][6] ={ 'o'};
char str[2][7] ={ 'r'};
char str[2][8] ={ 'l'};
char str[2][9] ={ 'd'};
char str[2][10] ={ '\0'};
char str[2][11] ={ '?'};//?は不明
char str[2][12] ={ '?'};//?は不明
char str[2][13] ={ '?'};//?は不明
char str[2][14] ={ '?'};//?は不明
を表示すれば良い??
Re:こんにちは。
%sは文字列を表示するものですから、%cなら配列要素それ自体を示す必要があります。
ということで作ってみました。
このプログラムでは必要ない部分まで表示しようとしています。
ですので、注釈の部分を完成させてみて下さい。
ということで作ってみました。
#include <stdio.h> int main(void) { int i,j; char str[3][15] ={ "ABCDE", "xyz", "HelloWorld" }; for(i=0; i<3; i++){ for(j=0; j<15; j++){ printf("%c", str[j]); //もし終端記号が入っていればコンテニュー } printf("\n"); } return 0; }
このプログラムでは必要ない部分まで表示しようとしています。
ですので、注釈の部分を完成させてみて下さい。