【发布时间】:2020-01-02 07:13:02
【问题描述】:
我正在尝试从向量创建一个字符串,如下所示:
int vector[3] = {1, 2, 3}.
然后,我会得到的字符串应该是:
[1, 2, 3] 存储在一些 char[] 变量中。
我尝试如下动态地执行此操作:
void print_vector(int *vector, int lon){
char *str = (char*)calloc(3*lon, sizeof(char));
str[0] = "[";
str[1] = (char) vector[0];
for(int i = 1; i < lon; i += 3){
str[i] = (char)vector[i];
if(i != lon - 1){
str[i + 1] = (char)",";
str[i + 2] = " ";
}else{
str[i + 1] = "]";
}
}
printf("%s\n", str);
}
其中 lon 是向量的长度,但我从编译器收到此警告:
警告:从 "char *" 对 "char" 的赋值会从指针创建一个整数,而无需转换 [-Wint-conversion]
我做错了什么?谢谢。
【问题讨论】: