C - scanf와 서식 지정자

2022. 2. 20. 15:43C

scanf(서식지정자, 변수의 주소);

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main() {
    int a;
    scanf("%d", &a);
    printf("%d", a);
}

출력 결과 

7
7

사용자에게 7이라는 값을 입력 받은 후 그대로 출력하였다.

해석을 하자면 scanf를 통해 입력 받은 값은 a의 주소 값안에 넣어준다 라는 뜻.

 

* scanf("%d", &a); 에서 a 앞에 &을 붙여줘야한다.

각 변수마다 변수의 값이 저장되는 공간이 존재한다. 

&를 붙여줘야 메모리의 주소를 기억하고 사용할 수 있기에 꼭 붙여줘야 한다고 한다.

그 예시로

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main() {
    int a;
    scanf("%d", &a);
    printf("%d", &a);
}

출력결과

6
93088252

printf("%d", &a)를 했을때 a의 값이 아닌 a 주소 값을 출력하는 것을 알 수 있다.

 

서식지정자 출력대상
%d int, char
%f float, double
%g float, double
%c int, char
%s char * (문자열)

 

'C' 카테고리의 다른 글

C - 반복문 예제  (0) 2022.02.25
C - 반복문  (0) 2022.02.20
C - 조건문  (0) 2022.02.20
C - 연산자  (0) 2022.02.16
C - 기초  (0) 2022.02.16