c - 我的输出中的间距在 C 中略有偏差

标签 c printf

700   =   17 + 683
702   =   11 + 691
704   =   3 + 701
706   =   5 + 701

如您所见...3 和 5 位于错误的位置,它应该是:

700   =   17 + 683
702   =   11 + 691
704   =    3 + 701
706   =    5 + 701

我的代码:

fprintf(fpout, "%d   =   %d + %d\n", lower, primeNum1, primeNum2);

我假设我需要使用一些特殊的技术来解决这个问题。有人可以帮忙吗?

最佳答案

您可以通过在 %d 之间放置数字来指定最小字段宽度。当转换后的值小于最小字段宽度时,字段将在左侧填充空格。

fprintf(fpout, "%3d   =   %2d + %3d\n", lower, primeNum1, primeNum2);

当然,您可能需要根据 lowerprimeNum1primeNum2 的预期值考虑适当的最小字段宽度。 .

关于c - 我的输出中的间距在 C 中略有偏差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15036619/

相关文章:

c++ - 要优化的 CUDA 内核

c - 使用 C Driver 获取两个日期之间的数据 mongoDb

将 uint8 转换为 uint32

c - Pebble 不显示文本

c++ - round()函数产生一个奇数

perl - 为什么我在 Perl 的 printf 输出后得到一个尾随的 '1'?

C 的上下文无关文法

c - 但是当使用 %d 而不是 %p 时,到底打印了什么?

c++ - sprintf 何时以及为何会失败?

c - 这在内存/编译中会发生什么?