✨ ベストアンサー ✨
むぅ、サブルーチンに r,c を渡して何がやりたいのかいまいち読み切れないですが、とりあえず 配列内の文字列ごとに改行するコードはこんな感じです。
#include <stdio.h>
int main()
{
char word_array[2][3]={"One","Two"};
int row;
int offset;
for(row=0; row<2; row++){
for(offset=0; offset<sizeof(word_array[row]); offset++){
printf("%c", word_array[row][offset]);
}
printf("\n");
}
return 0;
}
または、もっとシンプルに char 格納サイズを1つ増やしてから
#include <stdio.h>
int main()
{
char word_array[2][4]={"One","Two"};
int row;
for(row=0; row<2; row++) printf("%s\n", word_array[row]);
return 0;
}
でも行けるかと。
おっ、問題は%cでしたか。
最初のコードはsizeofしてるので、array[2][3]でも動作します。
ありがとうございます!この問題は行ごとに改行して出力するサブルーチンを作る、引数も全て指定されてた問題だったのでサブルーチンを使って書きました😄
回答ありがとうございます!!
rとcをサブルーチンに渡すならおそらくfor文で書いた方がいいと思ったのですがこちらの事情であえてwhile文で書いてます。混乱させてしまってすみません🙇♂️そして配列の文字も一つ足りてなかったですね。。タイプミスです。
ひつま節さんのコードを参考にさせていただいて、%sだったところを%cに直すと正しく実行結果が出ました!本当にありがとうございます😊