将一个int数组变为一个int整数。例如数组{1,2,3,5,6,7,8,9}转换成整数12356789,以此类推
因为一个int最大有好几位数,并非只有一位数的啊,所以要想完整支持很长的整数连接在一起,建议用字符数组的形式接收。如果字符数组比较短的话可能用atol转换成长整型参与其它计算。
#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;
}
int res = 0;
for (int i = 0; i < n; i++)
{
res = res * 10 + a[i];
}
a是数组,n是数组长度
for(int i=0;i<8;i++)
{
printf("%d",a[i]);
}
int i;
long long int k=0;
for(i=0;i<n;i++)
{
k=k*10+a[i];
}
但是这只能适用于你的数组元素有效数字个数总长度小于等于19位的情况小,因为长长整型的最大数字也只有19位