There's a reason I quoted the C/C++ Faq. I suggest you take some time to read it.
I started looking around, but didn't get very far knowing it was a freelancer's work and glorified IRC log. Forming arguments on a subjective work while ignoring official documents won't help people be informed on the matter. I recommend consulting the C standard instead.
I suppose you don't care for Wikipedia either. It is amazing though that you'd dismiss something as "subjective work" without so much as a look on it. If you read one of the answers you may notice that they usually quote the relevant sections in the various standards and more official documents to back their explanations.
Anyway, it doesn't change the fact that you're wrong in the questions I quoted from the website related to expression evaluation. Look at Annex C in the standard you referenced for a list of sequence points defined by the standard, and look at what the standard says in example 7 in section 5.1.2.3, which comes quite close to one of the expressions from the C FAQ whose value is unspecified by the standard.
The main issue I have with this is that you're asserting potential difficulties as being the fault of the C language itself, while my 15 years of experience, researching and academics suggest otherwise. It's true, however, that the programmer may need to be aware of inconsistencies between their target platforms and their compilers. Having said that, I don't think it's appropriate to put C's name on those inconsistencies and draw a fanged face on it with a crayon.
You know, you're sounding almost like I've offended your religion or something. No one's "blaming" the language for its "difficulties". The language cannot read the programmer's mind; it's always the responsibility of the programmer to make sure that the code they've written reflects the functionality they intend. I'm only stating my belief that it takes a little more for a beginner to properly use C to write and debug programs that work on multiple platforms, as compare with other languages out there that have been designed from ground up to more explicitly support platform independence. These little issues I mentioned about C are but merely
one of the points I raised in
my original post explaining why I disprefer C/C++ in answering DullStar's question. I never imagine you would drag this one point out into an off-topic discussion.
There's actually one other thing which I haven't even begin to touch on, which you're surely aware of. C and C++ gives the programmer complete control over memory management. And of course, in practice in the industry, this is where you have your source of things like memory leaks that eventually slows down the computer, and buffer overruns that lead to security vulnerabilities. Again, certainly not the language's "fault" by any means, nor am I "drawing a fanged face" over explicit memory management. But consider that we have
professional programmers, not a beginner, working in an industry where such issues cost valuable time and money, and still customers run into these issues. Now consider a language that doesn't directly expose pointers and have garbage collection. I believe it would be justified for a beginner to choose the latter language, if it is good enough for the programs he wishes to write (eg. performant enough for the game being written).
[And lest you decide to start another off-topic discussion around this, yes, I know that garbage collection doesn't solve memory leaks completely, and your program still fails (albeit at least not so silently) if it access an array or similar data structure out-of-bounds.]