Im just learning C an do not understand why the following code fails.
The while loop apperas to work fine until it bombs out with a
floating point exception. Whats going on?
Thanks
/*
* chapter 5, program 7
* Calculate GCD of two numbers.
*/
#include <stdio.h>
main ()
{
int u,v, temp;
temp = 1; // *** DEBUG
printf("Please type two nonnegative integers.\n");
scanf("%d%d", &u,&v);
printf("\n\nThe GCD of %d and %d is ", u,v);
while ( u != 0)
{
printf ("\nu v temp > %d\t%d\t%d",u, v, temp); // *** DEBUG
temp = u % v;
u = v;
v = temp;
}
// printf("%d\n", u);
}
**** OUTPUT:
[sj@KUTI pic]$ a.out
Please type two nonnegative integers.
150 35
The GCD of 150 and 35 is
u v temp > 150 35 1
u v temp > 35 10 10
u v temp > 10 5 5
Floating point exception
