What must this code segment return ? 16 16 16 right ?
int main(int argc,char *argv[])
{
int a=2,*f1,*f2;
f1=f2=&a;
*f2+=*f1+=a+=2.5;
printf("%d %d %d\n",a,*f1,*f2);
return 0;
}
strangely, it returns 8 8 8 to me ???? :-(
For an actual understanding of the issue here try comp.lang.c FAQ article on sequence points.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With