I am learning C and I am confused why the matrix in main changes in the function change. I am assuming that the matrix was passed in the function change as ma[10][10] and that matrix m shouldn't change because I declared it in main, right? Can someone explain what is happening in this case? How do I fix it?
thx for help
void change(int ma[2][3]){
int l, c;
for(l=0; l<2; l++){
for(c=0; c<3; c++){
ma[l][c]=1;
}
}
}
int main()
{
int m[2][3], l, c;
for(l=0; l<2; l++){
for(c=0; c<3; c++){
m[l][c]=0;
}
}
change(m);
for(l=0; l<2; l++){
for(c=0; c<3; c++){
printf("%d", m[l][c]);
}
printf("\n");
}
return 0;
}
I was expecting to see this:
000
000
What i get:
111
111