C语言程序题求大神解释。

本人刚学C语言T_T,求大神们解释一下这个程序什么意思啊就中间{}里面就可以了,例如x[3][2]={0}是什么意思啊?程序是从哪里开始跑的?为什么最后答案是204?(为... 本人刚学C语言T_T,求大神们解释一下这个程序什么意思啊就中间{}里面就可以了,例如x[3][2]={0}是什么意思啊?程序是从哪里开始跑的?为什么最后答案是204?(为什么输入3个数据2,4,6分别赋值给了x[0][0],x[1][0],x[2][0]。x[1][0]仍为初始时的0?)
#include <stdio.h>
main()
{ int x[3][2]={0},i;
for(i=0;i<3;i++) scanf("%d",x[i]);
printf("%3d%3d%3d\n",x[0][0],x[0][1],x[1][0]);
}
若运行时输入:246<回车>,则输出结果为 :204
展开
 我来答
风若远去何人留
2014-03-04 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450112
专业C/C++软件开发

向TA提问 私信TA
展开全部
int x[3][2]={0}

这种定义方法为定义一个3*2的数组,同时把第一个元素x[0][0]赋值为0. 由于C语言的规则,当数组定义时部分赋值时,其他没有显式赋值的元素自动赋值为0。 所以这个操作是把x中所有元素都赋值为0
然后如你所说 for循环输入三个数存在你所说的x[0][0],x[1][0],x[2][0]

然后输出
这里估计你看错了 输出的是x[0][0],x[0][1],x[1][0]

第三个是x[1][0] 是输入的4 不是你说的0
x[0][0]同样是输入值2
而x[0][1]由于没输入过 所以是初始值0
于是输出结果为204

PS:运行时输入204回车是不行的 必须要2 0 4回车
更多追问追答
追问
"%3d%3d%3d"这个是什么意思啊?为什么是2 0 4而不是_2__0__4_ (”_“为空格)?
追答
采纳完别人然后追问?
你脑子进水还是认为我脑子进水?
春误双卿
2014-03-04 · TA获得超过725个赞
知道小有建树答主
回答量:580
采纳率:91%
帮助的人:452万
展开全部
x[3][2]={0};这句话是指将数组x初始化为0,就是x数组里面所有值都为0。然后scanf赋值,它是给x[i]赋值,其实补充就是x[i][0]赋值,所以输入246,其实x数组值为x[1][0] =2 ,x[1][1]=0,x[2][0] = 4,x[2][1]=0,x[3][0]=6,x[3][1]=0,所以输出204
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友2e5b072
2014-03-04 · 超过24用户采纳过TA的回答
知道答主
回答量:72
采纳率:0%
帮助的人:58万
展开全部
x[3][2]={0};
表示这个二维数组初始化为0;
for循环里面的赋值是给x[0][0],x[1][0],x[2][0] 赋值 ,这样没有赋值的都为0;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式