如何以十六进制,十进制和八进制打印在C中形成一个常量

时间:2014-07-09 13:12:28

标签: c constants

我遇到了一些解决我的任务问题的问题。我在网上搜索了文档,但我找不到简洁的答案。

我必须以十六进制,十进制和八进制形式打印常量例如.123456789。

我知道0x代表十六进制,0代表十进制,没有代表八进制。但是我没有想法如何打印它。我使用了#define方法来定义我的常量

    #include <stdio.h>
#include <stdlib.h>
#define CONST 123456789
int main()
{
 printf("%d",0xCONST);
    return 0;
}

有人可以帮忙吗?

1 个答案:

答案 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
$