10952번 - A+B - 5
10952번 문제를 보면
while문으로 문제를 풀라고 해서
저는 do while 문을 이용해서 풀었습니다
다른사람들은 어떻게 풀었나 해서 찾아봤는데
다른분들은 밑에 소스코드처럼
scanf 의 출력값이 입력받은 변수의 개수를 활용해서 풀은걸 보고
의문인게
"입력의 마지막에는 0 두개가 들어온다." 라고 문제에 되어있습니다
그렇다면 결국에 0 0 도 입력받은거라
scanf 의 리턴값은 2로 나오고 EOF값을 리턴하지않아서
while(scanf("%d %d",&a , &b)!=EOF) 이 조건은 쓸수가 없는데
문제 채점을 해보면 정답처리로 됩니다
질문을 정리하자면
이 문제에서 어떻게 scanf에서 EOF의 값이 리턴되는지 알고싶습니다
어차피 안에서 0, 0으로 break되기 때문에 여기서 while의 조건식은 의미가 없습니다. 그냥 최소한의 안전장치로 만들어두신 것 같습니다.
이해됐습니다 답변 감사드립니다
댓글을 작성하려면 로그인해야 합니다.
kln2040 4년 전
10952번 문제를 보면
while문으로 문제를 풀라고 해서
저는 do while 문을 이용해서 풀었습니다
다른사람들은 어떻게 풀었나 해서 찾아봤는데
다른분들은 밑에 소스코드처럼
scanf 의 출력값이 입력받은 변수의 개수를 활용해서 풀은걸 보고
의문인게
"입력의 마지막에는 0 두개가 들어온다." 라고 문제에 되어있습니다
그렇다면 결국에 0 0 도 입력받은거라
scanf 의 리턴값은 2로 나오고 EOF값을 리턴하지않아서
while(scanf("%d %d",&a , &b)!=EOF) 이 조건은 쓸수가 없는데
문제 채점을 해보면 정답처리로 됩니다
질문을 정리하자면
이 문제에서 어떻게 scanf에서 EOF의 값이 리턴되는지 알고싶습니다