이 또 다른 시퀀스 포인트 질문이지만, 비교적 간단 하나함수 호출의 시퀀스 포인트?
#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;
}
이 정의되지 않은 동작인가? 또는 g(&p)
에 대한 호출이 시퀀스 포인트 역할을합니까?
또한 질문은'g (& p)'가 시퀀스 포인트 역할을하는지 묻습니다. 'g (& p)'의 평가에는 'g'의 평가와 '& p'의 평가 사이, '전체 표현''* p = 42;의 평가와 'return'에서'0'을 리턴합니다. 그러나 둘 다'g (& p)'의 평가와 관련하여 인수'p'의 평가를 명령하지 않습니다. –
@EricPostpischil : 좋은 코멘트. :-) – Nawaz