我有一个整数数组和一组字符。
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.有没有更简单的方法来执行此操作?
答案 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