Thursday, 29 August 2013

Sequence point from function call?

Sequence point from function call?

This is yet another sequence-point question, but a rather simple one:
#include <stdio.h>
void f(int p, int) {
printf("p: %d\n", p);
}
int g(int* p) {
*p = 42;
return 0;
}
int main() {
int p = 0;
f(p, g(&p));
return 0;
}
Is this undefined behaviour? Or does the call to g(&p) act as a sequence
point?

No comments:

Post a Comment