Den nye udgave virker. Her er programmet vi taler om: Hvis j > i lige før while-løkken, vil de tre sætninger i kroppen af løkken: være ækvivalete med: altså en ombytning af i og j. Undervejs i løkken vil i være større end (eller lig med) j.#include <stdio.h>
int main(void) {
int a, b, i, j, remainder;
printf("Enter two non-negative integers: ");
scanf("%d %d", &a, &b);
i = a; j = b; /* We don't know if i > j */
while (j > 0){
remainder = i % j;
i = j;
j = remainder;
}
printf("GCD of %d and %d is %d\n\n", a, b, i);
return 0;
}
remainder = i % j;
i = j;
j = remainder;
remainder = i;
i = j;
j = remainder;