S
Shao Miller
Is the evaluation order guaranteed to be left-to-right for the
declaration of 'baz' in the following code? Or are the array size
expressions unsequenced relative to one another, as in 'a + b'? Or
something else?
#include <stdio.h>
int foo(void) { puts("foo"); return 1; }
int bar(void) { puts("bar"); return 1; }
int baz(int (* x)[foo()], int (* y)[bar()]) { return 0; }
int main(void) { return baz(0, 0); }
declaration of 'baz' in the following code? Or are the array size
expressions unsequenced relative to one another, as in 'a + b'? Or
something else?
#include <stdio.h>
int foo(void) { puts("foo"); return 1; }
int bar(void) { puts("bar"); return 1; }
int baz(int (* x)[foo()], int (* y)[bar()]) { return 0; }
int main(void) { return baz(0, 0); }