一道C语言题:下面的程序段运行后,输出结果是
inti,j,x=0;staticinta[8][8];for(i=0;i<3;i++)for(j=0;j<3;j++)a[i][j]=2*i+j;for(i=0;i<8...
int i,j,x=0;
static int a[8][8];
for(i=0;i<3;i++)
for(j=0;j<3;j++)
a[i][j]=2*i+j;
for(i=0;i<8;i++)
x+=a[i][j];
printf("%d",x);
这是道选择题,选项有9,0,18和不确定。
大侠帮帮忙哈!谢谢~
我需要详细的解释。 展开
static int a[8][8];
for(i=0;i<3;i++)
for(j=0;j<3;j++)
a[i][j]=2*i+j;
for(i=0;i<8;i++)
x+=a[i][j];
printf("%d",x);
这是道选择题,选项有9,0,18和不确定。
大侠帮帮忙哈!谢谢~
我需要详细的解释。 展开
4个回答
展开全部
答案是0;
int i,j,x=0;
static int a[8][8]; //定义的时候系统自动初始化,把数组中所有的元素都赋成0;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
a[i][j]=2*i+j; //将数组右上角的3X3的子矩阵赋值;(注意,此时结束时j的值是3)
for(i=0;i<8;i++)
x+=a[i][j];//这里j的值是3,所以相当于把a[0][3] a[1][3] a[2][3]到a[7][3]累加到x上,而在上面的赋值中又没有给这些值赋值,所以这些值都是0;而x的初值也是0,所以最后输出的x应当为0;
printf("%d",x);
int i,j,x=0;
static int a[8][8]; //定义的时候系统自动初始化,把数组中所有的元素都赋成0;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
a[i][j]=2*i+j; //将数组右上角的3X3的子矩阵赋值;(注意,此时结束时j的值是3)
for(i=0;i<8;i++)
x+=a[i][j];//这里j的值是3,所以相当于把a[0][3] a[1][3] a[2][3]到a[7][3]累加到x上,而在上面的赋值中又没有给这些值赋值,所以这些值都是0;而x的初值也是0,所以最后输出的x应当为0;
printf("%d",x);
展开全部
用static定义数组,就已经给数组初值了,即使所有的值均为0.
你用for在给数组赋值的时候,只给了a[0][0]至a[2][2]的值,即那些值现在已经有变化了.在经过两个for之后,j的值应该变为了3.
那么再经历下一个for,应该执行的语句就是x+=a[i][3],可想而知,不论你经历多少次循环,只要j是3,那么些a[n][3]就是0.因为第3列根本就没有变化过.值仍旧为0
所以结果为0
你用for在给数组赋值的时候,只给了a[0][0]至a[2][2]的值,即那些值现在已经有变化了.在经过两个for之后,j的值应该变为了3.
那么再经历下一个for,应该执行的语句就是x+=a[i][3],可想而知,不论你经历多少次循环,只要j是3,那么些a[n][3]就是0.因为第3列根本就没有变化过.值仍旧为0
所以结果为0
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
static int a[8][8], a中的每个元素都是0
第三个for的时候 j=3, a[i][3]都是0,所以结果是0
第三个for的时候 j=3, a[i][3]都是0,所以结果是0
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是0
E:\Case.Win\NASM>gcc z.c -o z.exe
E:\Case.Win\NASM>z
0
E:\Case.Win\NASM>
#include "stdio.h"
int main() {
int i,j,x=0;
static int a[8][8];
for(i=0;i<3;i++)
for(j=0;j<3;j++)
a[i][j]=2*i+j;
for(i=0;i<8;i++)
x+=a[i][j];
printf("%d",x);
}
E:\Case.Win\NASM>gcc z.c -o z.exe
E:\Case.Win\NASM>z
0
E:\Case.Win\NASM>
#include "stdio.h"
int main() {
int i,j,x=0;
static int a[8][8];
for(i=0;i<3;i++)
for(j=0;j<3;j++)
a[i][j]=2*i+j;
for(i=0;i<8;i++)
x+=a[i][j];
printf("%d",x);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询