c整型数组怎么转成字符串

int a[]={1,2,3};

转成

char ss="123";

这样怎么转换?

C语言的char代表一个字符呀,不是字符串,所以

char ss = "123"

是语法错误的。如果是将int类型转成char*,则可以通过循环来转化:

#include<stdio.h>

int main(){
    int n = 3;//数组长度 
    int a[] = {1,2,3};//测试数组 
    char *str = new char[n];
    for(int i=0;i<n;i++){
        str[i] = a[i] + '0';
    } 
    printf("%s",str);
    delete []str; 
    return 0;    
} 

循环拼接一下
你这不仅是数据类型不同,数据本身也完全不是一回事,没法转换

遍历整形数组,然后依次转为字符串拷贝放入字符串对象中啊

img

供参考:

#include <stdio.h>
int main()
{
    int a[] = { 1,2,3 }, i, k, len;
    char ss[256];
    len = sizeof(a) / sizeof(a[0]);
    for (i = 0, k = 0; i < len; i++)
    {
        ss[k++] = a[i] + '0';
    }
    ss[k] = '\0';
    puts(ss);
    return 0;
}