| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 781 人关注过本帖
标题:我认为对指针应该重新赋值 请大家来看看
只看楼主 加入收藏
Bonwe_PC
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2007-6-7
收藏
 问题点数:0 回复次数:10 
我认为对指针应该重新赋值 请大家来看看

请看下面的程序
#include <stdio.h>

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

printf("input 10 numbers:");

for(i=0;i<10;i++)
scanf("%d",p+i);

printf("a[10]:");

for(i=0;i<10;i++)
printf("%d",*(p+i));

printf("\n");
}
我认为在第一个循环结束后,应该对指针变量重新赋值(P=a;)
因为在第一个循环结束后,指针变量P是指向&a[9]的。
但是,这程序是编译成果的。
我在中间加了p=a ; 语句,也编译成功。
我不知道为什么,请各位指教。

搜索更多相关主题的帖子: 赋值 指针 
2007-07-22 15:40
sunhangdick
Rank: 1
等 级:新手上路
帖 子:52
专家分:0
注 册:2007-7-19
收藏
得分:0 

同意你的观点加上p=a

2007-07-22 19:21
mzjllh
Rank: 2
来 自:江苏扬州
等 级:论坛游民
帖 子:76
专家分:41
注 册:2007-2-8
收藏
得分:0 
不加p=a编译成功不代表运行时不出错
2007-07-22 20:50
Skai
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2006-8-30
收藏
得分:0 
不用加 你那是p+i 不是p++

2007-07-22 21:02
anlogo
Rank: 2
等 级:论坛游民
威 望:1
帖 子:293
专家分:20
注 册:2007-7-20
收藏
得分:0 
"因为在第一个循环结束后,指针变量P是指向&a[9]的。"

晕,这样认为就不对了~~~~~~~~~~
2007-07-22 21:02
水漪儿
Rank: 2
来 自:shangshida
等 级:论坛游民
帖 子:147
专家分:10
注 册:2007-7-19
收藏
得分:0 

不用的把,那里是p+i,P指向&a[0],p+i指向&a[9]。

2007-07-22 21:10
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
如果是移动指针 就要加
2007-07-22 21:36
sunhangdick
Rank: 1
等 级:新手上路
帖 子:52
专家分:0
注 册:2007-7-19
收藏
得分:0 

同意4楼的意见~

2007-07-23 02:07
福尔摩斯
Rank: 5Rank: 5
等 级:贵宾
威 望:12
帖 子:4011
专家分:370
注 册:2006-8-15
收藏
得分:0 
p的值没有改变(没用经过自加自减运算)

自我放逐。。。
2007-07-23 04:46
Bonwe_PC
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2007-6-7
收藏
得分:0 
嗯~

搞清楚了
4楼的说得对~!!thank you very much

2007-07-23 18:22
快速回复:我认为对指针应该重新赋值 请大家来看看
数据加载中...
 
   



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

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