인프런 커뮤니티 질문&답변

조민선님의 프로필 이미지
조민선

작성한 질문수

홍정모의 따라하며 배우는 C언어

9.3 함수의 자료형과 반환값

scanf("%d %d", &i1, &i2) != 2 의 의미

해결된 질문

작성

·

236

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 가 되겠네요. 

조민선님의 프로필 이미지
조민선

작성한 질문수

질문하기