相关疑难解决方法(0)

为什么C中的printf()不能同时打印两个64位值?

我正在研究一个32位系统.当我尝试在单个printf中打印多个64位值时,它无法再打印(即第2,第3 ......)个变量值.

例:

uint64_t a = 0x12345678;
uint64_t b = 0x87654321;
uint64_t c = 0x11111111;

printf("a is %llx & b is %llx & c is %llx",a,b,c);
Run Code Online (Sandbox Code Playgroud)

为什么这个printf不能打印所有值?

我正在修改我的问题

printf("a is %x & b is %llx & c is %llx",a,b,c);
Run Code Online (Sandbox Code Playgroud)

通过这样做的结果是:a是12345678&b是8765432100000000&c是1111111100000000

如果我没有正确打印一个值,那么为什么其他的价值才会变化?

c printf

8
推荐指数
2
解决办法
2万
查看次数

标签 统计

c ×1

printf ×1