如何直接打印数字作为字符串?

unt*_*led 0 c string stdout

printf("%s", 0x216f6c6c6548); // "Hello!" reversed
Run Code Online (Sandbox Code Playgroud)

它应该打印"你好!" 但事实并非如此.我期望得到同样的结果:

long long ll = 0x216f6c6c6548;
printf("%s", &ll);
Run Code Online (Sandbox Code Playgroud)

要么

printf("%s", "Hello!");
Run Code Online (Sandbox Code Playgroud)

是否可以将数字打印为字符串?

UPDATE

是否可以直接打印数字作为字符串?

Dou*_*rie 6

您必须从数字中提取字符:

print_ull_as_str (unsigned long long ll)
{
    while (ll != 0) { printf("%c", (char )(ll & 0xffu)); ll >>= 8; }
}
Run Code Online (Sandbox Code Playgroud)