Do different C compilers have different argument passing rules? -


this question has answer here:

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

this showing 12 11 12 in 32 bit gcc compiler , 12 11 11 in 16 bit turbo c compiler. differecnt c compilers have different argument passing rules?

please read comp.lang.c faq, expressions.

q: under compiler, code

int = 7; printf("%d\n", i++ * i++);

prints 49. regardless of order of evaluation, shouldn't print 56?


Comments

Popular posts from this blog

html5 - What is breaking my page when printing? -

html - Unable to style the color of bullets in a list -

c# - must be a non-abstract type with a public parameterless constructor in redis -