- ベストアンサー
この問題教えて
main関数で2つの2次元配列を次の表で初期化して、wa関数の中で相対する項の和の 配列を作り、main関数に戻って表示する。 52,35 15,24 52,65 65,88 78,25 99,12 一応こんなふうに書きましたが #include <stdio.h> wa ( const int a[3][2],const int b[3][2],int c[3][2]) { int i,j; for(i=0;i<3;i++) for(j=0;j<2;j++) c[i][j]=a[i][j]+b[i][j]; } int main(void) { int a[3][2]={{52,35},{52,65},{78,25},}; int b[3][2]={{15,24},{65,88},{99,12},}; int c[3][2]={0}; int i, j; wa ( a, b, c); for(i=0;i<3;i++){ for(j=0;j<2;j++) printf("%3d",c[i][j]); printf("\n"); } } こんなエラーが出ました kadai1.c: In function `main': kadai1.c:18: warning: passing arg 1 of `wa' from incompatible pointer type kadai1.c:18: warning: passing arg 2 of `wa' from incompatible pointer type どうしても分からないので誰か間違いがわかる人がいたら教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (2)
- mulukhiyya
- ベストアンサー率54% (12/22)
- arukamun
- ベストアンサー率35% (842/2394)
お礼
main関数とwa関数の順番を変えたらできました。 #include <stdio.h> int wa ( int a[][ ] ,int b[][] , int c[][] ); int main(void) { int a[3][2]={{52,35},{52,65},{78,25},}; int b[3][2]={{15,24},{65,88},{99,12},}; int c[3][2]={0}; int i, j; wa ( a , b , c ); for(i=0;i<3;i++){ for(j=0;j<2;j++) printf("%3d,",c[i][j]); printf("\n"); } } int wa ( int a[3][2] ,int b[3][2] ,int c[3][2] ) { int i,j; for(i=0;i<3;i++) for(j=0;j<2;j++) c[i][j]=a[i][j]+b[i][j]; } 大変、丁寧な説明を書いていただきどうもありがとうございました。