如何连接数组中的整数和字符串

时间:2017-05-25 17:27:11

标签: c arrays concatenation type-conversion

我有一个整数数组和一组字符。

int A[5] = {12, 23, 12, 32, 12};
char B[5] = {'a', 'e', 'd', 'y', 'i'};

我想将这两个连接成一个名为

的新数组
char P[5]; 

我想输出

p[5] =  {12a, 23e, 12d, 32y, 56i}

到目前为止,我尝试使用snprintf,但它会遇到段故障并中止陷阱6.有没有更简单的方法来执行此操作?

1 个答案:

答案 0 :(得分:2)

你不能在每个索引处有一个char数组存储像'12e'这样的值,你需要一个2D-char数组(这是一个字符串数组)。您可以使用sprintf进行数据类型转换。

int A[5] = {12, 23, 12, 32, 12};
char B[5] = {'a', 'e', 'd', 'y', 'i'};
char P[5][15];
int i = 0;
for(i = 0; i < 5; ++i)
{
    sprintf(P[i], "%d%c",A[i],B[i]);
    printf("%s ",P[i]);
}

输出:12a 23e 12d 32y 12i