본문 바로가기

C\C++

형변환 예제

개요

형변환 예제

 


Code

#include<stdio.h>

int main(void)
{
    char ch = 'a';
    short sh = 123;
    int in = 4567;
    long lo = 12345L;
    float fl = 123.34f;
    double dou = 456.78;
    float f_value1 = 123.456f;
    float f_value2 = 1.2345E+02f;
    double d_value1 = 0.0123;
    double d_value2 = 1.23E-03;
    int i_input;
    float f_input;
    char c_input;
    char c_string[20];

    printf("자동 자료형 변환 \t: ch = %c, sh = %d, in = %d, fl = %f, dou = %lf\n", ch, sh, in, fl, dou);
    sh = ch;
    in = sh;
    fl = in;
    dou = fl;
    printf("자동 자료형 변환 후 \t: ch = %c, sh = %d, in = %d, fl = %f, dou = %lf\n", ch, sh, in, fl, dou);
    
    //변수선언 시 입력값으로 재입력
    ch = 'a';       
    sh = 123;
    in = 32767;
    lo = 12345L;
    fl = 123.34f;
    dou = 456.78;

    ch = (char)sh;
    sh = (short)in;
    in = (int)fl;
    fl = (float)dou;
    printf("강제 자료형 변환 : ch = %c, sh = %d, in = %d, fl = %f, dou = %lf\n", ch, sh, in, fl, dou);

    printf("float val1 \t= %f, \tfloat val2 \t= %E\n", f_value1, f_value2);
    printf("double val1 \t= %lf, \tfloat val2 \t= %E\n", d_value1, d_value2);

    printf("input int > ");
    scanf_s("%d", &i_input);        //숫자형 자료의 scanf_s 사용
    printf("int = %d\n", i_input);

    printf("input float > ");
    scanf_s("%f", &f_input);
    printf("float = %f\n", f_input); 

    printf("input char > ");
    scanf_s("\n%c", &c_input,(unsigned)sizeof(char)+1); //문자형 자료의 scanf_s 사용 
    //       ↑\n은 f_input을 입력 할 때 사용한 enter 입력을 제외 시키기 위해 사용
    //                      ↑↑,문자형 자료를 입력 받을 때, 입력받을 자료의 크기를 인자로 입력해야함
    //                      ↑↑↑반환 되어야 하는 자료형이 unsigned int 이므로 (unsigned)를 사용해 변환
    //                      ↑↑↑↑\n도 포함해야 하므로 +1
    printf("char = %c\n", c_input);

    printf("input string = ");
    scanf_s("%s", c_string, (unsigned)sizeof(c_string));
    //                      ↑반환 되어야 하는 자료형이 unsigned int 이므로 (unsigned)를 사용해 변환
    printf("string = %s\n", c_string);
    
    return 0;
}

Output

 

'C\C++' 카테고리의 다른 글

연산자 예제  (0) 2022.02.09
int_input  (0) 2022.02.09
type_문제  (0) 2022.02.09
변수\상수 예제  (0) 2022.02.08
while문 예제  (0) 2022.02.08