kln2040   4년 전

10952번 문제를 보면

while문으로 문제를 풀라고 해서

저는 do while 문을 이용해서 풀었습니다

다른사람들은 어떻게 풀었나 해서 찾아봤는데

다른분들은 밑에 소스코드처럼

scanf 의 출력값이 입력받은 변수의 개수를 활용해서 풀은걸 보고 

의문인게

"입력의 마지막에는 0 두개가 들어온다." 라고 문제에 되어있습니다 

그렇다면 결국에 0 0 도 입력받은거라

scanf 의 리턴값은 2로 나오고 EOF값을 리턴하지않아서 

while(scanf("%d %d",&a , &b)!=EOF) 이 조건은 쓸수가 없는데

문제 채점을 해보면 정답처리로 됩니다


질문을 정리하자면

이 문제에서 어떻게 scanf에서 EOF의 값이 리턴되는지 알고싶습니다

clrmt   4년 전

어차피 안에서 0, 0으로 break되기 때문에 여기서 while의 조건식은 의미가 없습니다. 그냥 최소한의 안전장치로 만들어두신 것 같습니다.

kln2040   4년 전

이해됐습니다 답변 감사드립니다

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