This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: Remainder ( % ) operator and GCC
You could use fmod.
corey
On 11/9/05, Frans Englich <frans.englich@telia.com> wrote:
> On Wednesday 09 November 2005 19:19, Ian Lance Taylor wrote:
> > Ladislav Mecir <lmecir@mbox.vol.cz> 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
>