scanf의 반환값
scanf는 int 반환값이 있다. scanf로 입력 받은 문자의 개수가 바로 반환값이 된다. 예를 들어, scanf("%d", &a); 라고 한 경우 1을 반환하고 scanf("%d %d", &a, &b); 라고 한 경우 2를 반환한다. 그런데, scanf로 데이터를 읽다가 파일의 끝(EOF)에 도달한 뒤 읽기를 시도하면 -1을 반환한다. while(scanf("%d %d", &a, &b) != -1) { ... } //또는 while(scanf("%d %d", &a, &b) == 2) 라고 조건문을 작성해도 된다. ※ != -1로 하면 무한루프에 빠진다. 이유는 모르겟.. (위와 같이 while문의 조건으로 응용 가능하다. scanf로 파일의 끝에 도달할 때까지 while문을 반복하겠다는 의미, ==..
2022. 9. 15.