m0_66051118 2022-08-07 15:02 采纳率: 76.3%
浏览 55
已结题

C语言的整形数组转换问题求解

将一个int数组变为一个int整数。例如数组{1,2,3,5,6,7,8,9}转换成整数12356789,以此类推

  • 写回答

4条回答 默认 最新

  • 滴水不穿石 2022-08-08 11:07
    关注

    因为一个int最大有好几位数,并非只有一位数的啊,所以要想完整支持很长的整数连接在一起,建议用字符数组的形式接收。如果字符数组比较短的话可能用atol转换成长整型参与其它计算。

    img

    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    
    int main()
    {
    
        int arr[5]={10,20,30,40,50};
        char arr_s[5*7]={'\0'};
        long a;
        for(int i=0;i<5;i++)
        {
            sprintf(arr_s+(strlen(arr_s)),"%d",arr[i]);
        }
        
        printf("字串形式输出:%s\n",arr_s);
        
        a=atol(arr_s);
        printf("整数形式输出:%ld",a);
        
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 8月21日
  • 已采纳回答 8月13日
  • 创建了问题 8月7日