如何在C中使用printf打印出以下值?

use*_*316 -2 c printf

我有一个变量:

int a = 0x0304;
Run Code Online (Sandbox Code Playgroud)

我打印出来像这样:

printf("the value is 0x4x\n", a);
Run Code Online (Sandbox Code Playgroud)

但它显示的值是0x304,我想要的结果应该是值0x0304,如何将其打印出来?

sim*_*onc 7

尝试添加一个前导0到您的格式说明符 -%04x

printf("the value is 0x%04x\n", a);
Run Code Online (Sandbox Code Playgroud)

如果你的问题遗漏不是拼写错误,请注意我还添加了一个%以使其成为格式说明符.就目前而言,你问题中的代码就会得到回应the value is 0x4x