【发布时间】:2013-04-29 03:07:52
【问题描述】:
我想知道是否有更好的方法在 c 中打印整数数组;
目前我为数组中的每个 int 执行 printf("%d" ,.. )。
但是这会导致每个 int 进行一次系统调用? (如果我的理解是正确的)。
最好将 int 数组转换为字符串缓冲区,然后一次调用打印缓冲区。
如果需要,我可以为它编写代码。
第一季度。这是个好主意还是太麻烦而不值得?
第二季度。有没有实现这种东西的库。 (无论我用谷歌搜索什么,都会回到打印整数的初学者教程:s)
编辑 数组的大小事先不知道。
【问题讨论】:
-
printf("%d %d %d %d\n", arr[0], arr[1],arr[2]) 最多调用一次 write() 系统打电话给你担心。
-
@jimmcnamara 数组是动态大小的。所以不能以这种方式对其进行硬编码。我已经更新了问题。
-
您询问的是如何解决“多个”系统调用场景。不是编程解决方法,IMO。
-
“如果我的理解是正确的”——10 次中有 9 次,当初学者这样说时,它是错误的。
-
@JimBalter 非常正确。