답변 1
0
3 으로 나오는게 정상입니다!
3 + (c = 1 + 2)
이 식 자체의 결과는 6 이지만 c 의 현재 값은 무엇일까요? 3입니다. 1+2 결과를 c 에 대입했고 이 c 의 값을 빌려와 3 + 3 하게 되어 6 이라는 결과를 낳은 것인데요, 이건 저 식의 결과일 뿐이지 c 결과는 아닙니다. c 변수의 값을 바꿔준건!!! c = 1 + 2 여기에서 밖에 없어요!
이런 상태에서 printf("%d\n",c) 이렇게 c 를 출력하셨기 때문에 3 이 나온 것입니다. c 는 3입니다. "3 + (c = 1 + 2)" 이 전체 식의 결과가 6일 뿐입니다. printf("%d\n", 3 + (c = 1 + 2)) 로 이 식의 결과를 출력했으면 6이 나올겁니다.
감사합니다