Re: Patch to remove undefined C code

From: Bernd Schmidt (bernds@redhat.co.uk)
Date: Tue Oct 17 2000 - 05:09:02 EST


On Tue, 17 Oct 2000, Richard Guenther wrote:
> On Tue, 17 Oct 2000, Bernd Schmidt wrote:
> > On Tue, 17 Oct 2000, Richard Guenther wrote:
> > > The following one is wrong, tho - should be rather
> > > str[i] = dn[i]; i++;
> >
> > Nope. (Well, at least you need to add extra braces.) The comma is a
> > sequence point.
>
> Umm, I thought, dn[i], i++ evaluates to i and dn[i++] evaluates
> to dn[i], so it should be either i++, dn[i-1] or the one I showed
> above?

According to operator precedence rules,
        str[i] = dn[i], i++;
is equivalent to
        (str[i] = dn[i]), i++;

Comma has the lowest precedence of all C operators.

Bernd

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Oct 23 2000 - 21:00:11 EST