哎,小弟我又来问有关问题了
哎,我又来问问题了。
第一道
执行以下程序段后,a 的值是 。(1 级)
static int a[]={5,3,7,2,1,5,4,10};
int a=0;k;
for(k=0;k<8;k+=2)
a+=*(a+k);
A) 17 B) 27 C) 13 D) 有语法错误,无法确定
第二道
分析下列程序
main()
{int n[3],i,j,k;
for(i=0;i<3;i++)
n[i]=0;
k=2;
for(i=0;i<k;i++)
for(j=0;j<k;j++)
n[j]=n[i]+1;
printf("%d\n",n[1]);
}
上述程序运行后,输出的结果是 。(1 级)
A)2 B)1 C)0 D)3
第一道的答案是:A
第二道的答案是:D
那位大哥能帮我解释一下。啊。哈哈哈谢了
------解决方案--------------------
第一题:
static int a[]={5,3,7,2,1,5,4,10};
int a=0;k; //加红色的a应该换成其它字母,像b,c...
for(k=0;k<8;k+=2)
a+=*(a+k); //不妨设为b,b=a[0]+a[2]+a[4]+a[6]=17;
第二题:
main()
{int n[3],i,j,k;
for(i=0;i<3;i++)
n[i]=0; //初始化,n[0]=n[1]=n[2]=0;
k=2;
for(i=0;i<k;i++)
for(j=0;j<k;j++) //当i=0时,执行for(j=0;j<k;j++) ,n[0]=n[0]+1=1;同理n[1]=n[2]=1;
n[j]=n[i]+1; //当i=1时,执行for(j=0;j<k;j++) ,n[0]=n[1]+1=2;同理n[1]=n[2]=2;
printf("%d\n",n[1]);//当i=2时,执行for(j=0;j<k;j++),n[0]=n[2]+1=3;同理n[1]=n[2]=3;
} //所以n[1]=3;输出
第一道
执行以下程序段后,a 的值是 。(1 级)
static int a[]={5,3,7,2,1,5,4,10};
int a=0;k;
for(k=0;k<8;k+=2)
a+=*(a+k);
A) 17 B) 27 C) 13 D) 有语法错误,无法确定
第二道
分析下列程序
main()
{int n[3],i,j,k;
for(i=0;i<3;i++)
n[i]=0;
k=2;
for(i=0;i<k;i++)
for(j=0;j<k;j++)
n[j]=n[i]+1;
printf("%d\n",n[1]);
}
上述程序运行后,输出的结果是 。(1 级)
A)2 B)1 C)0 D)3
第一道的答案是:A
第二道的答案是:D
那位大哥能帮我解释一下。啊。哈哈哈谢了
------解决方案--------------------
第一题:
static int a[]={5,3,7,2,1,5,4,10};
int a=0;k; //加红色的a应该换成其它字母,像b,c...
for(k=0;k<8;k+=2)
a+=*(a+k); //不妨设为b,b=a[0]+a[2]+a[4]+a[6]=17;
第二题:
main()
{int n[3],i,j,k;
for(i=0;i<3;i++)
n[i]=0; //初始化,n[0]=n[1]=n[2]=0;
k=2;
for(i=0;i<k;i++)
for(j=0;j<k;j++) //当i=0时,执行for(j=0;j<k;j++) ,n[0]=n[0]+1=1;同理n[1]=n[2]=1;
n[j]=n[i]+1; //当i=1时,执行for(j=0;j<k;j++) ,n[0]=n[1]+1=2;同理n[1]=n[2]=2;
printf("%d\n",n[1]);//当i=2时,执行for(j=0;j<k;j++),n[0]=n[2]+1=3;同理n[1]=n[2]=3;
} //所以n[1]=3;输出