scanf성공적으로 받아온 수를 return합니다.

만약 에러가 발생하거나 EOF(End of File)을 만나면 -1을 리턴합니다.


EOF는 콘솔에서 ctrl + Z로 입력이 가능합니다.


문자열을 끝날 때 까지 입력 받는 방법!


1
2
3
1. while (scanf("%d"&n) != EOF)
2. while (scanf("%d"&n) != -1)
3. while (~scanf("%d"&n))
cs


EOF는 -1을 나타내므로 1과 2는 같은 방법입니다.


3번에 대해서 설명하겠습니다!


~는 NOT입니다.

NOT을 왜쓰냐!


-1은 2진수로 표현하면 1111 1111 ... 1111 입니다.

-1에 ~를 붙이면 0000 0000 ... 0000 즉 0이 됩니다.

그래서 scanf로 EOF(-1)을 받으면 0을 반환해서 while문을 빠져나올 수 있는 것입니다.


'알고리즘 > 문제풀이 팁' 카테고리의 다른 글

방향 변환 팁  (1) 2017.04.04

+ Recent posts