我遇到了一些解决我的任务问题的问题。我在网上搜索了文档,但我找不到简洁的答案。
我必须以十六进制,十进制和八进制形式打印常量例如.123456789。
我知道0x代表十六进制,0代表十进制,没有代表八进制。但是我没有想法如何打印它。我使用了#define方法来定义我的常量
#include <stdio.h>
#include <stdlib.h>
#define CONST 123456789
int main()
{
printf("%d",0xCONST);
return 0;
}
有人可以帮忙吗?
答案 0 :(得分:5)
阅读printf man page上的printf
格式说明符。
代码:
#include <stdio.h>
#define CONST 123456789
int main()
{
printf("%d = %#x = %#o\n", CONST, CONST, CONST);
return 0;
}
编译和测试:
$ gcc -Wall dec-hex-oct.c && ./a.out
123456789 = 0x75bcd15 = 0726746425
$