Re: Remainder ( % ) operator and GCC

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

This is not a gcc question.

Ian

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux