| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 383 人关注过本帖
标题:为什么指针数组不能读入?
只看楼主 加入收藏
沉默的复仇者
Rank: 2
等 级:论坛游民
帖 子:33
专家分:15
注 册:2012-7-5
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:7 
为什么指针数组不能读入?
我参照一个教程写的代码,教程说指针可以作为数组来用,便写了一程序,编译没问题,但运行时则说内存越界,求高手大侠指点.
   
    代码如下:

程序代码:
[code]#include"stdio.h"

int main (void)
{
    int a[5],*p=a,i;

    printf("\nRead array:\n\n");

    for(i=0;i<5;i++)
    {
        scanf("%d",p[i]);
    }

    printf("\nPrint array:\n");

    for(i=0;i<5;i++)
    {
        printf("%d\n",p[i]);
    }

    return 0;
}
[/code]

    不知其解,求指点.
搜索更多相关主题的帖子: 内存 
2012-08-24 19:34
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:7 
scanf("%d",p[i]);

哈哈 其他不用看了
2012-08-24 19:35
沉默的复仇者
Rank: 2
等 级:论坛游民
帖 子:33
专家分:15
注 册:2012-7-5
收藏
得分:0 
回复 2楼 zklhp
怎么回事,p是指针啊,怎么不可以读入的?

Every thing is possible.
2012-08-24 19:44
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
以下是引用沉默的复仇者在2012-8-24 19:44:11的发言:

怎么回事,p是指针啊,怎么不可以读入的?

p是指针没错 p[i] 可就是 *(p+i) 你觉得和 (p+i) 是不是得有点区别呢
2012-08-24 19:55
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
说明你对指针的基本知识掌握的还不好啊 要多看书
2012-08-24 19:55
沉默的复仇者
Rank: 2
等 级:论坛游民
帖 子:33
专家分:15
注 册:2012-7-5
收藏
得分:0 
回复 5楼 zklhp
是不是这样子读入数组:scanf("%d",p+i)?

Every thing is possible.
2012-08-25 09:32
ly2222
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:217
专家分:618
注 册:2012-6-15
收藏
得分:7 
指针基础知识
2012-08-25 09:55
zhangqi_gsts
Rank: 6Rank: 6
来 自:甘肃天水
等 级:侠之大者
威 望:1
帖 子:227
专家分:457
注 册:2011-3-27
收藏
得分:7 
就是在scanf的时候出错了,scanf指的是将数据写入内存,所以又要地址,可以用&p[i]取地址,也可以直接用p + i表示地址
2012-08-26 23:30
快速回复:为什么指针数组不能读入?
数据加载中...
 
   



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

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