<div>#define _CRT_SECURE_NO_WARNINGS</div> <div><br></div> <div>#include<stdio.h></div> <div><br></div> <div>int main(int argc, char* args[]) {</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int num = 10;</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>for (;;) {</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>printf("put charactor : ");</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>scanf("%d", &num);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>printf("%d, %c\n", num, num);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>return 0;</div> <div>}</div> <div><br></div> <div><br></div> <div><br></div> <div><br></div> <div><br></div> <div>먼저 소스구요.</div> <div><br></div> <div>갑자기 scanf를 사용해서 정수입력을 예상하였으나 정수 이외의 값을 입력하게 되면 어떻게 될지 궁금해져서 예제를 짜보았습니다.</div> <div><br></div> <div>결과는 </div> <div><br></div> <div>put charactor : a // a가 제일 처음에 콘솔창에서 입력한값</div> <div>10,</div> <div><br></div> <div>put charactor : 10, </div> <div><br></div> <div>put charactor : 10, </div> <div><br></div> <div>put charactor : 10, </div> <div><br></div> <div>put charactor : 10, </div> <div><br></div> <div>put charactor : 10, </div> <div><br></div> <div>put charactor : 10, </div> <div><br></div> <div>....</div> <div><br></div> <div><br></div> <div><br></div> <div>이렇게 첫번째 입력값만 받은 후에 무한 루프에 걸리는데요.</div> <div><br></div> <div>무한루프에 걸리는건 알겠지만 왜 루프를 돌때마다 다시 scanf 함수에 걸려서 사용자의 입력을 받으려 하지 않는건지 궁금합니다.</div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.