• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

함수 9 - 3 부분 질문있습니다.

20.07.06 15:15 작성 조회수 108

0

두개의 정수중 높은값을 출력하는 함수부분에서

printf("Input two integers :");

if( scanf(%d %d", &i1, &i2) ! = 2) break;

이부분이 잘 이해가 가지 않습니다 ㅠ

코드를 제 방식대로 해석해보면

 입력받은 i1, i2 주소값이 2가 아닐때 반복문을 끝낸다 라고 적혀있는데   =>   !=2)break;

그럼 정수 2개값을 입력할떄 2가 없으면 break 가 걸려서 코드가 실행이 되지 않는건가요??

문자를 입력하였을떈 break가 걸려서 반복문이 끝나는게 이해가 가는데

코드가 저렇게 되어있으면 숫자 2 이외의 숫자를 넣었을때 왜 코드가 돌아가는지 이해가 가질 않습니다.

긴글 읽어주셔서 감사합니다 !

답변 2

·

답변을 작성해보세요.

1

ccgg cc님의 프로필

ccgg cc

질문자

2020.07.06

@Hello yeo  감사합니다 ㅎㅎ 덕분에 이해가 됐네요 

1

Hello Yeo님의 프로필

Hello Yeo

2020.07.06

scanf는 성공적으로 입력받은 개수를 반환합니다.
i1, i2의 주소와는 관련이 없습니다.