如何在 printf() 中获取大写十六进制

问题描述 投票:0回答:1

我正在尝试以下代码。它以十六进制输出 a,以十进制输出 sa。 我不知道如何将 a 的值“大写”为“F”。

#include <stdio.h>

Void foo()
{
    int a = 10;
    static int sa = 10;
    a += 5;
    sa += 5;
    printf("a = %x, sa = %d\n", a, sa);
}


int main()
{
    int i;
    for (i = 0; i < 10; ++i)
        foo();
}
c printf uppercase
1个回答
0
投票

要将整数转换为大写的十六进制格式,请使用

%X
。请注意,
0x
的非零值的
%#x
前缀输出也将用
%#X

大写

同样,您可以使用

%E
%F
%G
%A
将浮点数转换为大写字母而不是小写字母。

C23 添加了带有

%b
的二进制转换,如果与
#
修饰符一起使用,
printf
会输出非零值的
0b
前缀。
%#B
可用于生成
0B
前缀。

© www.soinside.com 2019 - 2024. All rights reserved.