C语言 第二个for循环 是怎么倒序输出的.....不是定义了p=a吗
6个回答
展开全部
在第一个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],
类推,这样打印出来就变成了逆序。
有一句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],
类推,这样打印出来就变成了逆序。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一个for循环里面有 p=p+1;
执行完后,P就指向最后一个元素去了!
第二个for循环 *(--p) 就从最后一个开始输出,然后--p,又指向前一个元素, 一直循环就倒叙输出了~~
执行完后,P就指向最后一个元素去了!
第二个for循环 *(--p) 就从最后一个开始输出,然后--p,又指向前一个元素, 一直循环就倒叙输出了~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在第一个循环中 每次执行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]
执行循环结束后 p指向&a[10] 实际上这已经是一个越界操作了
在后一个循环中,每次输出*p和*(--p)
这样每次都会把p前移一位
所以会依次输出
a[10](越界值) a[9]
a[9] a[8]
...
a[2] a[1]
a[1] a[0]
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你在第一个循环对p进行了10次+1在进入第二个循环的时候p当然指向a数组最后一个元素啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
p=a时,你顺序时把P啦到数组尾部了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询