Los incrementos sin asignación:
PosDivj++;
PosDivi++;
El compilador te debe haber avisado de que
c.c:16:24: warning: operation on ‘PosDivj’ may be undefined [-Wsequence-point]
PosDivj=PosDivj++;
c.c:19:16: warning: operation on ‘PosDivi’ may be undefined [-Wsequence-point]
PosDivi=PosDivi++;
La función debe ser algo así
int MCD(Numero1, Numero2) {
int PosDivi = 1;
int PosDivj;
int MaxCD = 0;
while(PosDivi<=Numero1) {
if((Numero1 % PosDivi) == 0) {
PosDivj = 1;
while(PosDivj <= Numero2) {
if(((Numero2 % PosDivj) == 0) && (PosDivi == PosDivj)) {
MaxCD = PosDivi;
}
PosDivj++;
}
}
PosDivi++;
}
return MaxCD;
}