헥스?... C문제 하나 질문드립니다.
다흰
2023.04.01
#include stdio.h
/* program : printf.c */
void main()
{
int x =43;
float y =4.5;
printf(X(int)=%4d, X(char)=%4c, X(hex)=%4x\n, x, x, x);
}
이게 본문입니다. 그런데 문제중에..
프로그램 printf.c의 printf함수의 인자 두문에 이후 인자들의 자리에 x대신 y를 쓰면 어떤 출력이 나오나... 왜 그렇게되는가..라는 문제가있어서 일단 바꾸어보았습니다.
#include stdio.h
/* program : printf.c */
void main()
{
int x =43;
float y =4.5;
printf(X(int)=%4d, X(char)=%4c, X(hex)=%4x\n, x, x, y);
}
이때 출력을해보니 0이 나왔습니다.,,, 결과는알겠는데 그 이유를 잘 모르겠습니다. 설명부탁드려요~
그리고 이걸 제대로 표시하려면 %x-%f로 고치는거 맞죠?
-
도란
%c : Character의 약자로 문자를 출력하는 데에 사용합니다.
%d : Decimal의 약자로 정수를 출력하는 데에 사용합니다.
%x : heXa decimal의 약자로 16진수를 출력하는 데에 사용합니다.
%f : Float의 약자로 실수를 출력하는 데에 사용합니다.