인프런 커뮤니티 질문&답변
6.11강 4:36 부분에서 질문이 있습니다.
해결된 질문
작성
·
259
·
수정됨
4
안녕하세요
수업 중에 4:36 부분에서 궁금한 내용이 있어서 질문드립니다.
위키피디아에서
컴마 연산자를
첫 번째 피연산자를 평가한 후 그 결과를 버린 다음,
두 번째 피연산자를 평가하고 그 결과를 반환하는 이항 연산자라고 정의하는 것을 확인했습니다.
https://en.wikipedia.org/wiki/Comma_operator
int i, j;
i = 1;
printf("%d", (i++, j = 3)); // 결과 : 3그럼 위 코드에서 반환하는 결과값은
(i++, j = 3)의 결과값은 변수 j인가요 아니면 상수 리터럴 3인가요...???
답변 1
3
안녕하세요, 답변 도우미 Soobak 입니다.
상수 리터럴 3 입니다.
(i++, j = 3) 에서 j = 3 의 연산은 변수 j 에 3 을 대입하고, 그 대입 연산의 결과로 할당된 값인 3 을 반환합니다.
변수 j 는 값 3 이 할당된 위치를 가리키는 변수입니다.






답변 감사드립니다!!