Re: Multiple Assignment Evaluation Debate
- From: Ben Pfaff <blp@xxxxxxxxxxxxxxx>
- Date: Sun, 12 Mar 2006 10:17:50 -0800
ena8t8si@xxxxxxxxx writes:
Any compiler that compiles p = p->next = q as storing into p
before fetching p->next is simply broken. Operands are
evaluated before the operator they're operands for, and
operators are evaluated before they produce a value--that's
just how C semantics work (in a C abstract machine of course).
Do you have any citations to back up your assertions?
--
int main(void){char p[]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.\
\n",*q="kl BIcNBFr.NKEzjwCIxNJC";int i=sizeof p/2;char *strchr();int putchar(\
);while(*q){i+=strchr(p,*q++)-p;if(i>=(int)sizeof p)i-=sizeof p-1;putchar(p[i]\
);}return 0;}
.
- Follow-Ups:
- Re: Multiple Assignment Evaluation Debate
- From: pete
- Re: Multiple Assignment Evaluation Debate
- References:
- Multiple Assignment Evaluation Debate
- From: berns
- Re: Multiple Assignment Evaluation Debate
- From: Richard Heathfield
- Re: Multiple Assignment Evaluation Debate
- From: pete
- Re: Multiple Assignment Evaluation Debate
- From: pete
- Multiple Assignment Evaluation Debate
- Prev by Date: Memory leak problem
- Next by Date: Re: Memory leak problem
- Previous by thread: Re: Multiple Assignment Evaluation Debate
- Next by thread: Re: Multiple Assignment Evaluation Debate
- Index(es):