我必须使用以下代码输出一个大数字,一个双精度数字:
fprintf(outFile," %11.0f %d O(g(n))",factorialNotRecursive(index,factCount),factValue);
现在这个数字变得如此之大,以至于它进一步向下跳跃 输出清单。一旦超过11位数,最大值就会继续 变大。有办法解决这个问题吗?我不确定投入有多大 将在该计划上运行。
答案 0 :(得分:1)
我认为你不能直接这样做。您必须打印到字符串,然后更改字符串。
/* pseudo (untested) code */
value = factorialNotRecursive(index, factCount);
/* make sure buff is large enough (or use snprintf if available) */
n = sprintf(buff, "%11.0f", value);
if (n > 11) {
buff[10] = '+';
buff[11] = 0;
}
fprintf(outFile," %s %d O(g(n))", buff, factValue);