C/C언어 이론

(3-input)Operator

T_Y 2018. 10. 2. 14:51
반응형

화면(콘솔)에 글씨 출력 : printf

화면에서 글씨 입력 : scanf


scanf("입력형식", 입력받을 장소(공간,변수)); -> printf와 유사


입력 받을 장소 : &변수명

> &를 변수명에 붙인다 ==> 변수(공간)의 주소 값

> 일단은 변수명 앞에 &를 꼭 붙인다고 생각!!


>> scanf를 사용한다는 것은, 화면에서 입력한 내용을 특정 변수에 값으로 저장

   변수에 저장을 하려면, 그 변수의 집주소를 찾아가서 직접 집어넣어야 함

   (scanf의 특징) - 택배기사 느낌!! 찾아가는 서비스





1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <stdio.h>
 
void main()
{
    int iNum = 0;
    int iNum1 = 0;
    int iNum2 = 0;
    printf("숫자 입력 : "); // \n을 사용하지 않았음.
    scanf("%d"&iNum); // &필수!!   -> iNum 공간의 주소를 가르쳐줘야한다.
    // %d를 사용했다라는 것은, 입력된 값을 정수로 변환하여 iNum에 넣겠다!
    // %f를 사용한다면, float,double 변수에 소수 값으로 넣겠다가 된다.
 
    // (1) scanf()가 사용되면, 값을 입력(엔터)할 때까지, '입력 대기 상태'가 된다.
    //        프로그램이 종료되지 않고 실행 중인 상태!!
    // (2) scanf()의 첫 번째 문자열 안에는 \n 을 사용하지 않는다!!!
    //        \n은 우리가 printf()할 때 깔끔하게 출력하려고 사용하는 것
 
    printf("입력한 숫자는 %d입니다.\n", iNum);
    /////////////////////////////////////////////
    printf("두 수 입력 : ");
    scanf("%d,%d"&iNum1, &iNum2); // 순서대로 나열! 마찬가지로 & 필수
    printf("두 수의 합은 %d입니다.\n", (iNum1+iNum2));
    // 10 20 이라고 입력을 하면, '키보드 버퍼'라는 공간에 "10 20" 이라는 내용이 문자열로 저장됨
    //        키보드 버퍼 : 우리가 입력한 내용들이 저장되는 임시 공간
    // scanf()함수가 키보드버퍼에서 "%d,%d" 형식에 맞게 값을 꺼내온다.
    // "%d,%d"라고 써놨으면 우리가 입력할 때도 "10,20" 형태로 입력해줘야 그대로 가져올 수 있음.
    // 만약 "10 20"이라고 입력했다면, 처음 %d는 10을 가져왔지만 콤마(,)가 없어서 그 뒤는 못가져옴
 
    // 결론 : scanf()에 써놓은 형식 ("%d %d") 또는 ("%d,%d") 에 맞게 입력을 해야 한다.
 
}
cs





반응형

'C > C언어 이론' 카테고리의 다른 글

(4-2)Conditional  (0) 2018.10.02
(4-1)Conditional  (0) 2018.10.02
(3-8)Operator  (0) 2018.10.02
(3-7)Operator  (0) 2018.10.02
(3-6)Operator  (0) 2018.10.02