3 ms·
Actually, the order in which function arguments are evaluated is undefined. http://c-faq.com/expr/comma.html http://c-faq.com/expr/comma.html You can use a com
by decklin 14y ago
Actually, the order in which function arguments are evaluated is undefined. http://c-faq.com/expr/comma.html http://c-faq.com/expr/comma.html
You can use a comma in other expressions to introduce a sequence point: http://c-faq.com/~scs/cgi-bin/faqcat.cgi?sec=expr#seqpoints http://c-faq.com/~scs/cgi-bin/faqcat.cgi?sec=expr#seqpoints
- vhf 14y agoThanks for your clever comment and for those emitting similar concerns. You surely are right. I wanted to give a quick example, turns out it was a bad one. Next time I'll write : int i = 0; printf("%i", i++); // prints 0 printf("%i", ++i); // prints 2
- hythloday 14y agoturns out it was a bad one Given that you were making a point on an article about the complexity of C, I'd say it was an unintentionally excellent example.
- sirclueless 14y agoIf you really want to make your brain hurt, there was an article on HN a while ago about the following statement: i = i++; Evaluating that expression takes a real dive into the guts of the C spec.