본 글은 C언어를 배우고 나서 복습 겸 정리한 글입니다.
코드
#include <stdio.h>
int main()
{
int num;
char c;
printf("숫자와 문자를 입력하세요 : ");
scanf("%d %c", &num, &c);
printf("입력한 숫자는 %d이고 입력한 문자는 %c입니다.", mean); //출력
return 0;
}
실행결과
입력 : 10 c
출력 : 입력한 숫자는 10이고 입력한 문자는 c입니다.
요약
line 5, 6:
값을 저장할 정수형 변수 num
과 char형 변수 c
를 선언
line 9 : scanf("%d %c", &num, &c);
scanf
로 사용자로 부터 입력을 받는다.
printf와 마찬가지로 서식문자
를 사용하며 서식문자 이외에 문자를 넣으면 안된다.
&변수는 변수의 주소값을 나타낸다.
입력
scanf()
C언어에서 콘솔을 통해 사용자로 부터 입력을 받을 수 있도록 하는 함수는 scanf()이다. scanf또한 stdio.h에 정의되어 있다.
scanf("서식문자", &변수, &변수, ... &변수); 의 형식으로 사용한다.
scanf에서도 서식문자를 사용한다.
&는 변수의 주소를 가리킬때 사용한다. 변수가 있는 곳을 주소로 찾아가 저장하는 것이다.
이에 대해선 포인터를 정리할 때 자세히 정리
scanf에서 서식문자 이외에 다른 문자가 포함된다면 어떻게 될까?
#include <stdio.h>
int main()
{
int num;
scanf("a %d", &num);
printf("출력 : %d", num);
return 0;
}
여기서 입력을 10으로 했다면, 출력은 (출력 : 0)이 된다.
scanf를 보면 서식문자인 %d앞에 서식문자가 아닌 a가 붙어있는데
이 a가 입력인 10에서 앞 1을 잡아먹기 때문에 num에는 0이 저장된다.
'Programming > C Memo' 카테고리의 다른 글
09. 반복문(1) [for문] (0) | 2020.02.12 |
---|---|
08. 조건문 (if문) (0) | 2020.02.10 |
06. 출력과 주석 (0) | 2020.02.10 |
05. 연산자(2) [ 비트, 시프트, 삼항, 대입] (0) | 2020.02.10 |
04. 연산자(1) [산술, 비교, 논리] (0) | 2020.02.09 |
댓글