C - scanf와 서식 지정자
2022. 2. 20. 15:43ㆍC
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 * (문자열) |