- scanf()
1) scanf()
scnaf() 함수는 프로그램 사용자로부터 값을 입력받도록 하는 함수이다. 사용자가 변수의 값을 정할 수 있다.
int myScore;
printf("당신의 점수는? ");
scanf("%d", &myScore);
printf("내 점수는 %d점입니다.", myScore);
intput1 |
80 |
output1 |
당신의 점수는? 내 점수는 80점입니다. |
실제 콘솔창에는 다음과 같은 결과가 보일 것이다.
당신의 점수는? 80
내 점수는 80점입니다.
캡쳐가 제한되는 환경에서 작성하는 글이므로, 실제로 코드를 실행해보며 이 블로그에서 표현하는 방식에 익숙해지기를 바란다. 또한 이 표현 방식은 작성자가 임의로 만든 것이 아니다.
이 코드에서는 변수 myScore의 값을 코드상에서 초기화하지 않고 사용자에게 그 권한을 넘기고 있다. 사용자가 80이라는 숫자를 입력 후 엔터를 누르면 myScore에는 80이라는 값이 들어간다. scanf() 함수란 무엇일까? 큰 따옴표("") 사이에는 서식문자(%d %s 등)가 들어간다. 큰 따옴표 뒤에는 콤마(,)로 구분하여 변수이름이 들어간다. 여기서 주의해야할 점은 변수의 이름이 그대로 들어가지 않고 앞에 엠퍼센트(&) 기호를 붙여야 한다. 그 이유는 지금은 설명할 수 없는 내용으로 이후에 설명하도록 하겠다.
하나의 scanf() 함수에 여러 변수의 값을 입력해도 된다. 이 경우에는 공백으로 구분하며 엔터(개행문자 '\n')가 입력되기 전까지 받는다. 엔터로 구분해도 무관하다. 만약 코드에서 요구한 변수 개수 이상을 입력한 후 엔터를 누른다면 변수에 들어가지 못 한 값을든 입력 버퍼에 남아 있게 된다.(데이터가 소멸되지 않고 계속 입력하고 있는 상태 정도로 이해하자) 마지막으로 여러 값을 받는 코드와 입출력 결과를 소개하고 글을 마치겠다.
int apples, bananas;
printf("사과와 바나나의 개수는? ");
scnaf("%d %d", &apples, &bananas);
printf("사과: %d개\n바나나: %d개");
intput2 |
5 3 |
output2 |
사과와 바나나의 개수는? 사과: 5개 바나나: 3개 |
간혹 가다 scanf("%d, %d", &apples, &bananas); 이런식으로 입력하는 경우가 있는데, scanf()함수에서 서식문자 %d사이에 콤마(,)를 넣으면 오류가 발생한다.
'C언어' 카테고리의 다른 글
C언어 기초 7. C언어 연산 (0) | 2019.09.07 |
---|---|
C언어 기초 6. 주석 (0) | 2019.09.07 |
C언어 // 알아두면 쓸모 있는 지식 3. 같은 숫자인데 거짓을 반환하는 이유 (3) | 2019.08.15 |
C언어 // 알아두면 쓸모 있는 지식 2. 문자열 비교하기 (0) | 2019.08.15 |
C언어 기초 4. 변수와 자료형 (0) | 2019.08.04 |