본문 바로가기
문법관련/C

5. scanf 함수

by print_soo 2024. 6. 10.

정수형 입력하기

정해진 값이 저장된 변수만 사용하는 것이 아니라 사용자가 직접 입력해서 변수의 값을 지정할 수 있다.

그건 바로 scanf라고 한다.

int main(){

    int a;
    scanf("%d", &a);
		return 0;
}

&를 사용하는 이유

 

→ &(앰퍼센트)를 사용하는 이유는 저장할 변수의 이름만으로 해당 변수 메모리에 접근할 수 없기 때문에 &을 사용해서 저장할 변수의 메모리 주소값을 가져와 저장한다.

 

 

❗️주의사항❗️

  1. scanf 함수에서 변수명을 지정할 떄는 &을 붙여야한다.
  2. scanf 함수에서 사용한 변환 문자와 맞는 형태의 데이터를 입력해야한다.

int형 → %d

char형 → %c

double형 → %lf

정수를 다수 입력을 할 때

아래와 같이 여러 개가 입력될 때는 space, enter, tab을 해서 입력해준다.

(space, enter, tab은 white space라고 한다. )

#include <stdio.h>

int main() {

    int age;
    double height;
    printf("나이와 키:");
    scanf("%d%lf", &age, &height);
    printf("나이는 %d살, 키는 %.lfcm입니다.", age, height);

    return 0;
}

---- 입력 ----
나이와 키:24 177
나이는 24살, 키는 177cm입니다.%    

나이와 키:24    177
나이는 24살, 키는 177cm입니다.%   

나이와 키:24 
177
나이는 24살, 키는 177cm입니다.%   

문자와 문자열 입력해보기

#include <stdio.h>

int main() {

    char grade;
    char name[20];

    printf("학점을 입력하세요 : ");
    scanf("%c", &grade);
    printf("이름을 입력하세요 : ");
    scanf("%s", name); //배열은 배열명만 작성한다. 
    printf("%s님의 학점은 %c입니다.", name, grade);

    return 0;
}
  • 문자(%c)에 입력을 할 때 enter를 누르면 입력에 엔터가 들어가는 것과 동시에 다음 입력으로 넘어간다.
--출력--
학점을 입력하세요 : 
이름을 입력하세요 : 홍길동
홍길동님의 학점은 
입니다.%       
  • 문자열(%s)에 입력할 때 space를 누르면 입력이 끝난 걸로 인식을 하여 space 누르기 전까지 문자들만 저장한다.
--출력
학점을 입력하세요 : A
이름을 입력하세요 : 홍 길동
홍님의 학점은 A입니다.%   

'문법관련 > C' 카테고리의 다른 글

7. 반복문 - do while  (0) 2024.06.13
6. 연산자  (0) 2024.06.12
4-2. 자료형 마다 저장할 수 최대값과 최솟값  (0) 2024.06.03
4. 변수 선언 및 초기화  (0) 2024.06.03
3. 상수와 데이터 표현방법  (0) 2024.05.31