在我的程序中,我有uint4 x变量。
我必须将其值打印到stdout。

如何使用printf实现它?

先感谢您

注意:uint4 x由4个无符号整数组成的结构

最佳答案

uint4不是标准类型,也没有通用定义。我知道uint4涉及以下任何项目:

  • 32位无符号整数类型(1)
  • 4位无符号整数类型,实现为位域(2)
  • 4个无符号整数的结构(3)

  • 您可以这样打印它们:
    // case (1)
    #include <inttypes.h>
    typedef uint32_t uint4;
    uint4 x = 42;
    printf("x = %" PRIu32, x);
    
    // case (2)
    typedef struct { unsigned value : 4; } uint4;
    uint4 x = { 7 };
    printf("x = %u", x.value);
    
    // case (3)
    typedef struct { unsigned x, y, z, w; } uint4;
    uint4 quad = { 1, 2, 3, 4 };
    printf("x = %u, y = %u, z = %u, w = %u", quad.x, quad.y, quad.z, quad.w);
    

    关于c++ - uint4在c中打印变量值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7835904/

    10-09 09:04