why right-to-left evaluation in printf argument list?

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

 



For you people this is probably old hat but none of my book sources explain the C / C++ idiosyncrasy of evaluating arguments of printf (and maybe other functions too, I don't know) from right-to-left. For instance, the following code:

# include <stdio.h>
void main ( void )
{
	int i = 0 ;
	printf ( "%d %d\n", i ++, i ++ ) ;
}

prints out:

1 0

instead of:

0 1

as expected. I remember having heard of this years ago and got around to testing it today, but I don't get the logic behind this behaviour. Is there one? If yes, what is it?

Thanks.

Shriramana Sharma.

-
To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Assembler]     [Git]     [Kernel List]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [C Programming]     [Yosemite Campsites]     [Yosemite News]     [GCC Help]

  Powered by Linux