息詰まってますのでよろしくお願いします。

例えば
main(){
function1(a,b);
function2(b,c);
}
と
main(){
function1(a,b);
}

main(){
function2(b,c);
}
で変数Cの値の結果が違ってくるのはどういう理由なんでしょう?
a,b,cは整数型の二次元配列です。
デバッグすると後の方はきちんとbの値が渡されてるんですけど、
最初のはbがfunction2でおかしな値になってしまって渡されてるみたいなんです。
255が66になってたり。わけわかりません。
わかる方お願いします。