请教各位这道c语言题为什么答案是0?谢谢

 我来答
White_MouseYBZ
2019-04-19 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6661万
展开全部
因为a是由static修饰的数组,声明时编译器会对8*8==64个元素全部清0。两层for循环只赋值9个元素,它们是a[0][0]、a[0][1]、a[0][2],a[1][0]、a[1][1]、a[1][2],a[2][0]、a[2][1]、a[2][2]。其余元素都是0。现在输出的是a[i][j],而这时j==3,也就是输出a[i][3],无论i是几,第3列的元素都是0。如果a没有用static修饰,那输出一般是一个机器垃圾数,你可以把static删除试一下。
Yuqi_Tan

2019-04-18 · TA获得超过8.9万个赞
知道大有可为答主
回答量:9918
采纳率:93%
帮助的人:3469万
展开全部
你声明的数组a是一个8行8列共64个元素的整形数组。
在程序的语句中,对部分元素进行了赋值,赋值的范围是3行3列,从a[0][0]到a[3][3],没有赋值的元素为0,赋值后的数组是这样的:
(i👇) (j👉 ) 0 1 2 3 4 5 6 7
0 0 1 2 0 0 0 0 0
1 2 3 4 0 0 0 0 0
2 4 5 6 0 0 0 0 0
3 0 0 0 0 0 0 0 0
4 0 0 0 0 0 0 0 0
5 0 0 0 0 0 0 0 0
6 0 0 0 0 0 0 0 0
7 0 0 0 0 0 0 0 0
最后累加x时,j=3没有变,i=0-7,求的是第四列数字的和,可以看到,a[3][0]~a[3][7]都等于0,所以最终x=0。
故输出0,选项C。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式