반응형

@ printf() 함수와 함께 자주 쓰이는 함수 중 하나죠. 지금부터

scanf() 함수를 이용해서 값을 입력 받는 방법을 알아 보겠습니다.

 

@ 일반적인 사용

#include <stdio.h>

main()

{

    int a;

    scanf("%d", &a);

    printf("\n입력받은 값은 %d 입니다\n", a);

 

}

&a에 관해서는 나중에 설명할게요

 

@ 두 개 이상의 값 입력 받기

#include <stdio.h>

main()

{

    int a,b,c,d;

    scanf("%d %d %d", &a ,&b, &c);

    scanf("%d", &d);

    printf("a = %d, b = %d, c = %d, d = %d\n", a, b, c, d);

 

}

한 개의 scanf() 함수에 몽땅 집어 넣어도 되고, scanf() 함수를 따로 사용 해도 됩니다.

 

 

@ 입력 받을 때 공백이 아닌 다른 특수 문자를 이용해서 받기

위에서는 55 66 77 88 이렇게 공백을 이용하여 구분하였습니다만,

다른 특수문자 이를테면 ,(콤마)나 -(하이픈) 등등을 이용해서 구분 하실 수 있습니다.

#include <stdio.h>

main()

{

    int a,b,c,d;

    printf("a,b를 입력하세요\n");

    scanf("%d@%d", &a ,&b);

 

    printf("c,d를 입력하세요\n");

    scanf("%d:%d", &c ,&d);

 

    printf("a = %d, b = %d, c = %d, d = %d\n", a, b, c, d);

 

}

a변수와 b 변수는 @이용해 구분,

c변수와 d변수는 : 이용해 구분해 보았습니다

이외에도 + - _ , 등등 많은 특수 문자들이 사용 가능했으며 제가 해보지 않은 문자들도 아주아주 많습니다.

 

아 그리고 이렇게 공백으로 구분한것이 아닌 경우 "%d %d" 에서 %d 사이에 넣은 문자로 꼭 입력 받을 때도 구분해 주셔야 해요. 그렇지 않으면 값이 제대로 들어가지 않습니다.

 

 

@ &a 란 a변수의 주소를 의미합니다

&b는 b변수의 주소구요.

#include <stdio.h>

main()

{

    int a=100,b=100;

 

    printf("a 변수의 값 = %d\n", a);

    printf("a 변수의 주소 = %x\n", &a);

 

    printf("b 변수의 값 = %d\n", b);

    printf("b 변수의 주소 = %x\n", &b);

 

}

a변수와 b변수를 값은 똑같이 100을 넣어주었습니다.

하지만 변수 앞에 &를 붙이니 다른 값이 나오지요?

바로 변수의 주소이기 때문입니다.

(%x는 16진수로 출력하란 말입니다. %d로 출력하셔도 다른 값을 확인 하실 수 있어요)

반응형

'IT > Programing' 카테고리의 다른 글

c언어 판단문 (if, else, switch)  (0) 2013.10.23
c언어 형식지정자  (1) 2013.10.13
c언어 변수  (0) 2013.10.11

+ Recent posts