ehdqn119   4년 전

for 문 안에 scanf 를 입력하면 

해당 횟수 만큼 scanf 를 반복하는데, 입력 할때마다 변수에 저장되는 값이 바뀌는데

왜 답은 20 10 35 30 7 이렇게 한 줄에 입력받고, 다음 줄에 최소, 최대값을 출력하는 지 모르겠습니다 ㅠ..

for 문안에 동작 순서 좀 설명해주세요 ㅠㅠ

djm03178   4년 전

처음 scanf에 도달하면, 사용자가 엔터를 치기까지 프로그램은 대기 상태가 됩니다. 사용자가 엔터를 치면, 그 때까지 입력한 내용이 입력 버퍼에 쌓이게 되고, 이 때부터 프로그램이 실행을 재개해서 입력 버퍼에 있는 내용을 scanf가 읽게 됩니다. scanf는 정수 하나만 읽으라고 지시를 받았으니, 정수 하나만 입력 버퍼에서 빼내고 나머지는 남겨둡니다. 이후 반복문을 돌아 다시 scanf가 실행되었을 때는 입력 버퍼에 아직 내용이 남아있으니 대기 상태로 들어가지 않고 버퍼의 내용을 바로 빼옵니다.

ehdqn119   4년 전

이해했습니다. 정말 감사합니다. ㅠㅠㅠ

댓글을 작성하려면 로그인해야 합니다.