这是一道C语言考试题,希望能说出具体原因
有以下程序main(){inti,s=0,t[]={1,2,3,4,5,6,7,8,9};for(i=0;i<9;i+=2)s+=*(t+i);printf("%d\",...
有以下程序
main()
{ int i,s=0,t[]={1,2,3,4,5,6,7,8,9};
for(i=0;i<9;i+=2) s+=*(t+i);
printf("%d\",s); }
这一题我还有点不明白的是s+=*(t+i)这一步是说s是一个指针还是具体就是一个数如果是指向的一个数的话好像指到最后会超出范围,式中的t是指数组中的第一个元素还是指什么?请一步一步地话化我看一下,谢谢
A 45
B 20
C 25
D 36 展开
main()
{ int i,s=0,t[]={1,2,3,4,5,6,7,8,9};
for(i=0;i<9;i+=2) s+=*(t+i);
printf("%d\",s); }
这一题我还有点不明白的是s+=*(t+i)这一步是说s是一个指针还是具体就是一个数如果是指向的一个数的话好像指到最后会超出范围,式中的t是指数组中的第一个元素还是指什么?请一步一步地话化我看一下,谢谢
A 45
B 20
C 25
D 36 展开
3个回答
展开全部
选C
i=0 s=s+t[0] s=0+1=1
i=2 s=s+t[2] s=1+3=4
i=4 s=s+t[4] s=4+5=9
i=6 s=s+t[6] s=9+7=16
i=8 s=s+t[8] s=16+9=25
i=0 s=s+t[0] s=0+1=1
i=2 s=s+t[2] s=1+3=4
i=4 s=s+t[4] s=4+5=9
i=6 s=s+t[6] s=9+7=16
i=8 s=s+t[8] s=16+9=25
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
25
i分别是0、2、4、6、8
对应的*(t+i)就是1+3+5+7+9 = 25
i分别是0、2、4、6、8
对应的*(t+i)就是1+3+5+7+9 = 25
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询