以下程序段的运行结果是()。 int x[]={2,3,4,5,6,7},*p=x; int i,s=0; for(i=1;i<5;i++) s+=p[i++];

要解释... 要解释 展开
 我来答
wshiwzy
2012-04-17
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
18 这段代码
int x[]={2,3,4,5,6,7},*p=x;//初始化数组X,把数组首地址X赋值给P
int i,s=0; //i是计数用 s是求和用
for(i=1;i<5;i++)
s+=p[i++]; //i从1开始 所以第一个加数是X[1],循环后就是3+4+5+6=18
更多追问追答
追问
可是它提供的答案不是呀,它的选择就:① 20  ② 14  ③ 8  ④ 6
追答
你代码是不是打错了,for里面的i 是从几开始的?要是for(i=1;i<5;i++)就是18,你打错了话for(i=0;i<5;i++)就是20
uploadcase
2012-04-19
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
3+5=8,这种程序作为考题就是误导初学者,学习C语言的目的是规范化程序书写方法,只要规范了变量和程序的书写,很多问题根本不会出现。像这种在循环体内修改循环变量I的方式,只是为了考试++,--而存在的,在实际应用中极少有人用这种方式来编程,现在的考试题已经跑偏了,不专注程序理念的培养,而以偏门怪方为荣,为了考试而考试。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-04-18
展开全部
正确答案是③8,你要正确理解
第一轮循环之后i=3;
第二轮循环之后i=5,然后跳出循环
全部只执行两次循环,x[1]+x[3]=3+5=8

要记住在循环里变量i是一次循环自增两次的,你也要分清一下i++与++i的区别
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式