标题:请高手解答指针问题!!!
只看楼主
zd1505675319
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:139
专家分:178
注 册:2011-11-4
结帖率:100%
已结贴  问题点数:20 回复次数:8 
请高手解答指针问题!!!
#include<stdio.h>
int main()
{    int i,a[10],*p;
    printf("please input array:");
    p=a;
    for(i=0;i<10;i++)
    {
        scanf("%d",p++);
    }
    p=a;
    for(i=0;i<10;i++)
    {
        printf("%4d",*++p);
    }
    printf("\n");
    return 0;
}
为什么 我输入 0 1 2 3 4 5 6 7 8 9
会输出 1 2 3 4 5 6 7 8 9 9 最后这个9是哪里来的 是数组越界么 请高手详细解答!
搜索更多相关主题的帖子: please 
2011-12-17 13:48
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
得分:3 
printf("%4d",*p++);

My life is brilliant
2011-12-17 13:52
double聪
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:46
专家分:118
注 册:2011-11-19
得分:3 
楼上正解
2011-12-17 21:35
zd1505675319
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:139
专家分:178
注 册:2011-11-4
得分:0 
我知道怎么回事 但是不明白最后的9 是怎么来的 无论输入多少 最后一个都是9.
2011-12-18 01:17
zd1505675319
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:139
专家分:178
注 册:2011-11-4
得分:0 
第9次循环的时候 p=a[10]数组就到a[9].*p指向哪了?
2011-12-18 01:33
月夜幻影
Rank: 2
来 自:辽宁大连
等 级:论坛游民
帖 子:16
专家分:71
注 册:2011-10-26
得分:3 
越界
未定义行为;
正如你的输出是9
而卧的是-858993460
2011-12-20 08:44
请叫我苏哥
Rank: 1
等 级:新手上路
帖 子:6
专家分:8
注 册:2011-11-26
得分:3 
越界啦。你把输出的++p改成p++就会正常啦
2011-12-20 13:40
笨小孩111
Rank: 2
等 级:论坛游民
帖 子:4
专家分:27
注 册:2011-12-17
得分:3 
最后的一个9是一个随机数,因为越界了,所以随机分配一个数字。
2011-12-20 16:35
离开天空的云
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:110
专家分:198
注 册:2011-8-12
得分:3 
上面P++输入的好好的..干嘛下面要来一个++p..两个的用法不一样的
2011-12-20 18:32



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-357984-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.830716 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved