打印c语言中没有最后一个元素的字符串连接数组



我是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
for(int i = 0; i < s; i++) {
  if(i)
    printf(", ");
  printf("%i",array[i]);
}

你可以这样做:

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

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

最新更新