<div><br></div> <div>C언어 증가,감소 연산자를 배우고 있었는데</div> <div><br></div> <div> <div>int x=1, y=2, z=3;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>x=++x*5;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>y=y++*5;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>z=5- --z;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>printf(" x = %d , y = %d , z = %d \n",x,y,z);</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>return 0;</div></div> <div><br></div> <div>이렇게 쳤습니다. </div> <div><br></div> <div>실행하면 어떻게 될까요?</div> <div><br></div> <div><br></div> <div>.</div> <div>.</div> <div>.</div> <div><br></div> <div><br></div> <div>x=10, y=10, z=3</div> <div><br></div> <div>이렇게 나옵니다.</div> <div><br></div> <div><br></div> <div><span style="font-weight:bold;">하지만, 이는 틀렸습니다</span></div> <div><br></div> <div> <div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201510/1444657337QnsilQTlZvU1VNlAIjjkNLvGtnO3.jpg" width="583" height="766" alt="sIuUtKm.jpg" style="border:none;"></div></div> <div><span style="font-size:9pt;line-height:1.5;">심지어 책에도 y=11 이라고 써 있었습니다. </span></div> <div><br></div> <div>그리고 저 또한, y는 11이 나와야 맞다고 저는 생각합니다</div> <div><b>왜냐면 </b>y=2 였기 때문에, 연산할 때는 2*5=10 이지만, 나중에 후치환 해 줘서 +1 , 결국 11이 되야한다고 생각 하기때문에!</div> <div><br></div> <div>...... 그러면 컴퓨터는 왜 이런 결과를 냈을까요???</div> <div><br></div> <div><br></div> <div><br></div> <div><br></div> <div>'희대의 미스테리' 라면서 교수님이 다시 생각해 오신다고 하시곤 수업이 끝났어요</div> <div><br></div> <div><b>실화입니다.</b></div> <div><br></div> <div><br></div> <div><br></div> <div><br></div> <div><br></div> <div>-------------------------------------------질의응답후-------------------------------------------</div> <div><br></div> <div><br></div> <div><br></div> <div>많은 분들이 경험으로 알게된 좋은 정보를 댓글로 많이 달아주셨습니다.</div> <div>요약 하자면, </div> <div><br></div> <div>컴파일러 에서 저런 행동양식의 우선순위를 정하지 않아, 해석을 제맘대로 하기 때문에, </div> <div>루프문 이외에선 저런 걸 쓰지 않는게 좋다. 라는 결론을 얻었습니다.</div> <div><br></div> <div>본삭금 걸고 제목 바꾸었습니다.</div> <div><br></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.