C语言 第二个for循环 是怎么倒序输出的.....不是定义了p=a吗

 我来答
百度网友c28efdc
2013-12-04
知道答主
回答量:19
采纳率:0%
帮助的人:13万
展开全部
在第一个for循环中,
有一句p=p+1,会让p指针指向数组a中的下一个变量。
当10次循环完结时,p已经指向数组a中最后一个元素a[9]。

在第二个for循环中,
第一轮打印的*p会是a[9],--p会让p指针前移到指向a[8],
第二轮打印的*p会是a[8],--p会让p指针前移到指向a[7],
类推,这样打印出来就变成了逆序。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友0a2c36c82
2013-12-04 · TA获得超过266个赞
知道小有建树答主
回答量:109
采纳率:0%
帮助的人:81.5万
展开全部
第一个for循环里面有 p=p+1;
执行完后,P就指向最后一个元素去了!

第二个for循环 *(--p) 就从最后一个开始输出,然后--p,又指向前一个元素, 一直循环就倒叙输出了~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
风若远去何人留
2013-12-04 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450134
专业C/C++软件开发

向TA提问 私信TA
展开全部
在第一个循环中 每次执行p=p+1
执行循环结束后 p指向&a[10] 实际上这已经是一个越界操作了
在后一个循环中,每次输出*p和*(--p)
这样每次都会把p前移一位
所以会依次输出
a[10](越界值) a[9]
a[9] a[8]
...
a[2] a[1]
a[1] a[0]
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zwei41
2013-12-04 · 超过29用户采纳过TA的回答
知道答主
回答量:109
采纳率:0%
帮助的人:71.9万
展开全部
你在第一个循环对p进行了10次+1在进入第二个循环的时候p当然指向a数组最后一个元素啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友7bbac528f8
2013-12-04 · TA获得超过598个赞
知道小有建树答主
回答量:1706
采纳率:50%
帮助的人:954万
展开全部
p=a时,你顺序时把P啦到数组尾部了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式