int main(){
int m1[3][3],m2[3][3],m3[3][3],m4[3][3],m5[3][3];
create(m1);
create(m2);
matadd(m3,m1,m2);
matmul(m4,m1,m2);
transpose(m5,m4);
getch();
return 0;
}
void create(int a[3][3]){
int i,k;
for(i=0;i<3;i++){
for(k=0;k<3;k++)
scanf("%d",a[i][k]);
}
}
新编码,已经在2D矩阵上编写了一个简单的程序,编译成功,但每次运行它崩溃后我输入第一个2整数调用1st create()。
答案 0 :(得分:3)
scanf("%d",a[i][k]);
d
转化说明符需要指向int
的指针,但您传递的是int
。
要传递指向对象的指针,请使用&
运算符:
scanf("%d", &a[i][k]);
答案 1 :(得分:2)
使用这种方式
scanf("%d", &a[i][k]);
每次输入/ scanf
时,都需要输入&
。这是C的基本内容,你怎么能错过这个?