인프런 커뮤니티 질문&답변
scanf("%d %d", &i1, &i2) != 2 의 의미
해결된 질문
작성
·
271
2
scanf("%d %d", &i1, &i2) != 2
이 코드가 의미하는 것이 무엇인지 모르겠습니다.
어떻게해서 그런 의미가 나오는지 이유까지 알려주시면 감사하겠습니다.
퀴즈
프로그램에서 함수를 사용하는 주된 이유 중 하나는 무엇일까요?
프로그램 실행 속도를 항상 빠르게 만들기 위해
반복되는 코드를 줄이고 재사용성을 높이기 위해
변수를 전역적으로 선언하여 어디서든 접근하기 위해
프로그램의 메모리 사용량을 최소화하기 위해
답변 1
0
scanf 는 입력에 성공한 변수의 개수를 리턴합니다.
따라서 scanf("%d %d", &i1, &i2) 가 i1, i2 두 변수에 입력 받기를 모두 성공했다면 2를 리턴하게 됩니다.
둘 중 하나는 실패했거나 둘 다 입력이 안되었다면 각각 1, 0 을 리턴하게 됩니다.
그러므로 scanf("%d %d", &i1, &i2) != 2 이 조건식은 scanf 를 통해 두 변수의 입력이 다 성공하진 못했을 때 true 가 되겠네요.





