Talk:C syntax

From Wikipedia, the free encyclopedia

Evaluation order

The last paragraph 'Evaluation order and Lazy evaluation' is almost completely wrong! Its author should read comp.lang.c FAQ list section 3, especially answer to question 3.5. Constructions like a != NULL && func(a++) do NOT invoke undefined behaviour. The writer is confusing C's short circuit evaluation to lazy evaluation which is a completely different thing. --193.143.83.252 17:36, 26 Mar 2004 (UTC)

Agree completely. That section was completely incorrect. I tried to fix it. Kevin Saff 14:16, 7 Apr 2004 (UTC)
Your version is much better than the original! I just added one sequence point to the list. 193.143.83.252


vfd

This article was proposed for deletion January 2005. The discussion is archived at Wikipedia:Votes for deletion/C syntax. Joyous 22:46, Jan 22, 2005 (UTC)

Standard library != C Syntax

The standard library (for which none of the header file names have been provided I might add) has nothing to do with the syntax of C. C can be used with other libraries or none at all; its syntax is independent of them. The translation of command-line arguments is the job of the linker and again has nothing to do with C syntax.

And then I find myself guilty of the same offense, so take what I said with a grain of salt.Kbolino 05:41, Apr 6, 2005 (UTC)

Confusing example of labelled loops

I think example from the article C syntax#Labels is confusing:

// using break:
outer:
for (int i = 0; i < n; ++i) {
    switch (i) {
        case 1:
            break; // jumps to 1
        case 2:
            break outer; // jumps to 2
        default:
            continue;
    }
    // 1
}
// 2

// using continue:
outer:
for (int i = 0; i < m; ++i) {
    for (int j = 0; j < n; ++j) {
        continue; // jumps to 1
        continue outer; // jumps to 2
        // 1
    }
    // 2
}

For a comment "jumps to 1": which exactly "1", line 12 or line 22? I see two possible solutions:

  • Split this example into 2 code blocks.
  • Use unique names instead of 1, 2, 1, 2. Maybe "label_a", "label_b", "label_c", "label_d".

Additionally, are "case 1" and "case 2" connected with names 1, 2, 1, 2? It is better not use integer numbers for names in this example. Alexey Vazhnov (talk) 22:40, 10 January 2026 (UTC)

Related Articles

Wikiwand AI