프로그래밍 언어/C언어

C언어) 8. scanf 입력함수와 &변수명

luana_eun 2023. 11. 2. 15:52
728x90

 

scanf는 사용자에게 입력을 받는 입력함수로,

입력을 받은 값을 변수에 저장하고 printf로 출력하는 원리다.

형식: [ scanf("서식문자%", &변수명); ]

예시: scanf("%d", &a);

**&가 뭐지??

scanf에서는 변수명 앞에&를 붙입니다. &는 변수의 주소를 가리키는 것으로,

"해당변수가 있는 자리로 가라~"라는 뜻.

왜냐면 사용자가 입력한 값을 그 변수의 자리에 놓아야 하니까요ㅎㅎ

 

 

scanf함수의 사용예시를 들겠습니다.

혹시 scanf를 쓸때 오류가 나시는 분은 아래 페이지를 참고해주세요↓

https://luanaeun.tistory.com/251

 

 

정수 입력과 출력

a라는 변수를 선언하고 10이라는 숫자를 넣고 출력하는 과정입니다.

아래와 같이 입력하고 실행을 시키면 "입력: " 위에 커서가 깜박입니다.

<한줄한줄 해석>

int a;

정수형 변수 a 선언

printf("입력: ");

큰따옴표 안의 문구를 그대로 출력!

scanf("%d", &a);

위의 printf에 이어서 입력하라는 커서가 나옵니다.

깜박이는 커서에 키보드로 "10"이라고 입력하고 엔터를 누릅니다.

printf("입력한 숫자는 %d입니다.", a);

키보드로 입력한 숫자10이 %d자리에 출력됩니다.

 

 

실수 입력과 출력

float형 a와 double형 b에 각각 1.2와 1.3입력하기

두개 이상을 입력할 경우에는 하나 입력 후 + 스페이스바+ 나머지입력 하면 됩니다.

위의 결과에서, %f는 기본6자리 출력하기 때문에 1.200000라고 출력되었습니다.

 

 

 

문자 입력과 출력

A라는 문자를 입력받고 출력하기

 

 

문자열 입력과 출력

문자열 입력 전에, 문자열 변수선언에대해 이해해야 합니다(name[7])

(문자열 변수선언은 C언어 3페이지에 있습니다.)

이름입력하고 출력하기

**문자열 입력에서는 주의 사항이 있습니다!!

파란색 동그라미를 보면 변수명앞에 &가 없습니다.

앞의 것과는 다르게, 문자열을 입력할때는 &를 쓰지 않습니다.

주의해주세요!!

다음 글에서는 scnaf함수의 응용과 문제 몇가지를 풀어보겠습니다!

 

 

 

(* 2020 네이버 블로그에서 이전한 글)

728x90