c语言题,下面程序段运行后,输出结果是 ???

2024-11-20 17:25:14
推荐回答(4个)
回答1:

答案是对的,你想一下,在两个for 循环中,a[0][0]=0,a[0][1]=1,a[0][2]=2,a[0][3]~a[0][7]都是为0的,下面以此类推,这个的原理很简单,就是我们已经定义了一个二维数组a[8][8],只是为a[0][0]~a[2][2],其中的a[0][3]开始的数据,都是系统自动存储0的。下面j由于循环结束,j=3跳出for循环,在执行x+=a[i][j],就是 x=a[0][3]+a[1][3]+...+a[7][3]=0的,所以答案是没有错的,要人情没有分配的空间里,数组是存储0的就好啦,请采纳

回答2:

首先是for两层嵌套循环,循环完毕后j的值为3,从a[0][0]到a[2][2]分别都有赋值,后面的都为0
进行最后的for循环时,j还是3,a[i][3]都为0,所以循环结束后x还是0

回答3:

C没有错 static的变量 系统会全部初始化为0的
j=3,实际上第三列 从来没赋过值 当然是0

回答4:

for(i=0;i<8;i++)
x+=a[i][j];
这里有问题,少了一个for(j=0;j<8;j++) 不然不能确定指向的二维数组元素