| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 412 人关注过本帖
标题:请教一个指针的问题,有点弄不懂。
只看楼主 加入收藏
qq798420453
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-12-1
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
请教一个指针的问题,有点弄不懂。
#include "stdio.h"
void main()
{
    int a[3],n,*pa=a;
    for(n=0;n<=2;n++)
    scanf("%d",pa++);
    printf("======\n");
    pa=a;   /*为什么要为指针变量重新赋值?*/
    for(n=0;n<=2;n++)
    printf("%4d",*pa++);
}
求解中。。。。。。。。。。。
搜索更多相关主题的帖子: include 
2011-12-01 16:08
编程弱者
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:35
专家分:103
注 册:2011-11-17
收藏
得分:20 
当从键盘输入整数的时候,指针也相应指向数组下一个地址,所以输出的时候,要为指针重新赋值,使输出从数组首地址开始输出。
2011-12-01 16:13
qq798420453
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-12-1
收藏
得分:0 
回复 2楼 编程弱者
我明白了,一个指针只能指向一个变量,而要想对变量进行操作,就要指向它。一个数组是几个具有相同数据类型的变量的集合,pa=a,只是指针指向了数组的首地址a[0],pa++后,就指向了下一个数组的元素a[1],a[2];后面进行数据输出的时候,这时指针的指向则是a[2],所以要重新指向第一个元素:a[0];
谢了!!!!!!!!
2011-12-01 16:35
cj520025
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-11-29
收藏
得分:0 
因为你上面输入完了后你的指针不是首地址了,所以要重新赋值。
2011-12-01 20:07
快速回复:请教一个指针的问题,有点弄不懂。
数据加载中...
 
   



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

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