一个关于c语言的数组问题

在一个函数中,输出了一个数组的每个数字,例如a[1]=1a[2]=2a[3]=3那这个数组输出结果就是123,我想定义一个变量i,让i=123怎么弄呢、?大家帮帮我,谢谢... 在一个函数中,输出了一个数组的每个数字,例如a[1]=1 a[2]=2 a[3]=3 那这个数组输出结果就是123,我想定义一个变量i,让i=123怎么弄呢、?大家帮帮我,谢谢啦 展开
 我来答
xzx900yyy
2012-10-30 · 超过16用户采纳过TA的回答
知道答主
回答量:55
采纳率:0%
帮助的人:38.7万
展开全部
i=a[1]*100+a[2]*10+a[3]
更多追问追答
追问
我这里只想假设只有3个数字,那要是有多位呢
追答
#include"math.h"
for(j=0;j<n;j++)
i+=a[j]*pow(10,n-j-1);
//pow是指数函数,让它累加每一位乘以10的n-j次方就行,n是你想要的任意位数,j是当前数组里的位数,C里的数组都是从0开始的
wqws16623
2012-10-30 · TA获得超过140个赞
知道答主
回答量:53
采纳率:0%
帮助的人:37.9万
展开全部
按照你的说法,那组合起来的这个数据也就有蛮大了。。你的整型变量可能要扛不住了。
比如将65536转成二进制:1111 1111 1111 1111这就有16位,如果要用一个整型变量来保存显然会越界,不过先不考虑这个问题。我还是按照你的要求写一下转换的方法:
假设要转换的数为:256
int a[8]={1,1,1,1,1,1,1,1};
int result=0,i;
for(i=0;i!=8;++i){
result*=10;
result+=a[i];
}
printf("%d",result);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友3475c50
2012-10-30 · 超过11用户采纳过TA的回答
知道答主
回答量:92
采纳率:0%
帮助的人:24.1万
展开全部
什么意思,没看懂-——! i=a[1]*100+a[2]*10+a[3]
更多追问追答
追问
a[1]=1 a[2]=2 a[3]=3,如果普通的输出只能单个的输出1 2 3,我想把这三个数字变成一个整体,即123,然后赋值给变量i

多位怎么办呢
追答
为什么没有啊a【0】
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式