怎么将字符串数组作为形参,每次将某元素保存进去

如何将字符串数组作为形参,每次将某元素保存进去写一个判断函数,按条件依次存入数组中int n 0void chec

如何将字符串数组作为形参,每次将某元素保存进去
写一个判断函数,按条件依次存入数组中
int n = 0;
void check(variable, char array[])
{
if (...)
  sprintf(array[n], “%s”, ..);//存入的类型可能不同
if (...)
  sprintf(array[n], "%d", ...);
if (...)
  sprintf(array[n], "lld", ...);
...

}

void main()
{
  char string[20]= {0};
  ....
  check(a1, &string[n++]);  
  check(a2, &string[n++]);
  check(a3, &string[n++]);
...
}
思路即如此,具体程序写完后,出现:”Segmentation fault (core dumped)“
对于字符数组做参数,不太了解,觉得可能是知识点方法问题。
请高手指点,谢谢!
[解决办法]
用指针去做。
[解决办法]
sprintf(array[n], “%s”, ..); 
这里已经不能再用array[n]了, array[n]类型是char而不再是一个指针。
[解决办法]
sprintf(array, “%s”, ..);

这样得的就是字符串,省下的就是合并字符串了!!

strcat ()