一尘不染

有什么聪明的方法可以输出n个项目列表,中间有(n-1)个分隔符?

algorithm

假设我们有一个包含n个元素的数组(n> 0)。

我们希望输出这些元素的列表,并在它们之间使用分隔符。

解决此问题的常用方法是:

foreach item
  (
    output item
    output separator
  )
trim last separator

但是这样做似乎有些混乱。

另一种方法是:

check that there is at least one element
loop
  (
     output element
     next element, or break if no more elements
     output separator
  )

但是我不确定它是否会一直有效。

您是否看到其他聪明的方式来做到这一点,例如在C,C ++中?


阅读 234

收藏
2020-07-28

共1个答案

一尘不染

char *sep = "";
for (i = 0; i < size; ++i) {
    printf("%s%s", sep, item[i]);
    sep = ", ";
}
2020-07-28