gpt4 book ai didi

c - 从 printf arg 中的数组读取。 printf ("%widthArr[0]u, %widthArr[1]u ", 变种 1, 变种 2)

转载 作者:太空宇宙 更新时间:2023-11-04 01:22:56 25 4
gpt4 key购买 nike

我正在尝试使用宽度数组以特定宽度打印变量。我想做类似的事情

int widthArr[] = {5, 4};
uint32_t var1 = 123;
uint32_t var2 = 4567;
printf("%widthArr[0]u, %widthArr[1]u ", var1, var2);

但使用 widthArr 中的实际值作为宽度。可以吗?

最佳答案

您可以使用 * 修饰符从参数中读取字段宽度,而不是对宽度进行硬编码,如下所示:

printf("%*u, %*u ", widthArr[0], var1, widthArr[1], var2);
// prints " 123, 4567 "

来自 the C++ reference page :

In the case when * is used, the width is specified by an additional argument of type int.

请注意,星号也可用于动态设置精度。

关于c - 从 printf arg 中的数组读取。 printf ("%widthArr[0]u, %widthArr[1]u ", 变种 1, 变种 2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37143731/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com