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 展开
#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 展开
3个回答
展开全部
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回车
这种定义方法为定义一个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_ (”_“为空格)?
追答
采纳完别人然后追问?
你脑子进水还是认为我脑子进水?
展开全部
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
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
x[3][2]={0};
表示这个二维数组初始化为0;
for循环里面的赋值是给x[0][0],x[1][0],x[2][0] 赋值 ,这样没有赋值的都为0;
表示这个二维数组初始化为0;
for循环里面的赋值是给x[0][0],x[1][0],x[2][0] 赋值 ,这样没有赋值的都为0;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询