본문 바로가기

DEVELOPMENT/C/C++

[C/C++] 입력문 (scanf)

사용자와 상호작용 하는 프로그램 작성 시 정보를 사용자에게 받아와야한다.

 

사용자와 프로그램 간 입력을 하기 위해 scanf를 사용한다.

 

  1. scanf("서식문자열", &변수);

pritf와 달리 서식문자열에는 오로지 서식만 들어갈 수 있다.

 

서식문자열 이외의 다른문자열을 넣어봤자 무시된다.

 


 

 

입력받고자 하는 정보를 사용자에게 요구할 때는 scanf이전에 printf를 사용하여 어떤 정보를 입력할 것인가에 대한 안내 문자열을 출력해주는게 좋다.

 

  1. printf("생년월일을 입력하세요(예, 19880205) : ");
  2.  
  3. scanf("%d",&input);

 


 

 

 

정수형 변수 a에 값을 입력받으려면 scanf("%d",& a), 실수형 변수 b에 값을 입력받으려면 scanf("%f", &b) 라고 호출하면 된다.

 

예제1.

두 값을 scanf로 입력받아 합을 구 하는 프로그램

  1. #include <stdio.h>
  2.  
  3. void main()
  4. {
  5.     int a,b;
  6.  
  7.     int sum;
  8.  
  9.  
  10.  
  11.     printf("첫 번째 숫자를 입력하세요 : ");
  12.  
  13.     scanf("%d",&a);
  14.  
  15.     printf("두 번째 숫자를 입력하세요 : ");
  16.  
  17.     scanf("%d",&b);
  18.  
  19.     sum=a+b;
  20.  
  21.     printf("입력한 두 수의 합은 %d입니다.\n",sum);
  22.  
  23. }

 printf로 어떤 수를 입력하라는 안내 메시지를 먼저 출력하고

scanf로 정수값을 입력받아 a, b 변수에 저장했다. sum에 두 수의 합을 구하고 printf로 그 합을 출력하면 된다.

 


 

printf가 한꺼번에 여러 개의 변수를 출력할 수 있듯이 scanf도 여러 개의 변수를 한꺼번에 입력받을 수 있다.

 

예제2.

scanf 한줄을 이용하여 변수 두개 한번에 입력하기.

 

  1. #include <stdio.h>
  2.  
  3. void main()
  4. {
  5.     int a,b;
  6.  
  7.     int sum;
  8.  
  9.  
  10.  
  11.     printf("두 개의 숫자를 입력하세요 : ");
  12.  
  13.     scanf("%d%d",&a,&b);
  14.  
  15.     sum=a+b;
  16.  
  17.     printf("입력한 두 수의 합은 %d입니다.\n",sum);
  18.  
  19. }
  20.