在c中打印数组,字符串连接,不带最后一个元素

时间:2015-09-20 23:06:05

标签: c arrays

我是C和编程的新手。我正在尝试打印以逗号分隔的数组。但是不希望打印最后一个逗号元素。这是我到目前为止的代码

void p_array(const int array[], const int s) {
  for(int i = 0; i < s; i++) {
    printf("%i, ",array[i]);
  }
}

我将阵列打印为

1, 2, 3, 4,

虽然我不希望打印逗号的最后一个元素。我知道我做了一些根本错误的事情。任何帮助表示赞赏。

1, 2, 3, 4

2 个答案:

答案 0 :(得分:2)

for(int i = 0; i < s; i++) {
  if(i)
    printf(", ");
  printf("%i",array[i]);
}

答案 1 :(得分:1)

你可以这样做:

printf("%i%s", array[i], i==s-1 ? "" : ", ");

另一种方法是让循环少一次迭代,然后在循环后打印出最后一个元素w / printf