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/

10-11 19:36