C variable declarations after function heading in definition [duplicate]

Solution 1:

That looks like K&R (pre-ANSI) style. I don't think it's valid C99, but are they using C99? Joel

Solution 2:

I think you are referring to the "old-fashioned" pre-ANSI way of declaring parameters in C. It looked something like this:

int foo(a, b)
    int a,
    int b
{
    /* ... */
}

That may still be valid in C99, and will be accepted by compilers for backward-compatibility reasons, but it should be considered deprecated/archaic.