On Wednesday 09 November 2005 19:19, Ian Lance Taylor wrote: > Ladislav Mecir <lmecir@xxxxxxxxxxx> writes: > > Could you give me an advice how to make the following program (and > > programs using many times the % operator) run reliably when compiled > > by GCC on different operating systems even when the user gives -1 as > > the B value? > > > > #include <stdio.h> > > int main(int argc, char *argv[]) { > > int a = -2147483647; > > int b; > > printf ("The value of B: "); > > scanf ("%i", &b); > > printf ("%i %% %i: %i", a, b, (a - 1) % b); > > return 0; > > } > > Don't use '%'. It is machine dependent when used with a negative > number. What should one use instead? What is the portable, machine-independent alternative? Cheers, Frans