C언어 문자열 안의 문자를 16진수로 변환하는 게 이해가 안됩니다. %0X가 16진수를 표현하는 건 알겠는데, *이 왜 붙어있죠?
조회수 512회
해당 코드
#include <stdio.h>
#include <limits.h>
void str_dump (const char *s)
{
do {
int i;
printf("%c %0*X ", *s, (CHAR_BIT + 3) / 4, *s);
// 여기서 %0*X가 의미하는 게 무엇인지 모르겠어요.
// (CHAR_BIT+3)/4, *s가 뒤에 왜 붙어있는지 모르겠어요.
// %0X가 16진수를 표현하는 건 알겠는데, *이 왜 붙어있죠?... (기본이 없어 죄송합니다)
putchar('\n');
} while (*s++ != '\0');
}
int main()
{
str_dump("STRING");
return 0;
}
댓글 입력