| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1550 人关注过本帖
标题:*pi+=2;pi+=2;*pi+=2; 指针问题求解
只看楼主 加入收藏
xiaofeixia99999
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2008-5-27
收藏
 问题点数:0 回复次数:17 
*pi+=2;pi+=2;*pi+=2; 指针问题求解
#include <stdio.h>
main()
{
    void change_p(int *pi);
    int *p;
    int a[]={1,4,7,10};
    p=&a[1];
    change_p(p);
    printf("%d\n",*p);
}

void change_p(int *pi)
{
    *pi+=2;
     pi+=2;
    *pi+=2;
}
求解?

[[it] 本帖最后由 xiaofeixia99999 于 2008-6-4 15:38 编辑 [/it]]
搜索更多相关主题的帖子: 问题求解 指针 
2008-06-04 15:18
wltysy
Rank: 1
等 级:新手上路
帖 子:560
专家分:0
注 册:2008-5-2
收藏
得分:0 
#include <stdio.h>
main()
{
  void change_p(int *pi);
   int *p,a[]={1,4,7,10};
    p=& a[1];
      change_p(p);
       printf("%d\n",*p);
   }

void change_p(int *pi)
   {*pi+=2;
     pi+=2;
    *pi+=2;
  }
2008-06-04 15:28
wltysy
Rank: 1
等 级:新手上路
帖 子:560
专家分:0
注 册:2008-5-2
收藏
得分:0 
我这结果是6
;掉了!

[[it] 本帖最后由 wltysy 于 2008-6-4 15:40 编辑 [/it]]
2008-06-04 15:30
xiaofeixia99999
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2008-5-27
收藏
得分:0 
呵呵.是呀.运行结果是6.     
但就是不理解.

请高手解释一下
2008-06-04 15:37
wltysy
Rank: 1
等 级:新手上路
帖 子:560
专家分:0
注 册:2008-5-2
收藏
得分:0 
回复 4# liyanhong 的帖子
哈!偶是小菜,只能这样!
2008-06-04 15:40
liyanhong
Rank: 3Rank: 3
来 自:水星
等 级:禁止访问
威 望:8
帖 子:1867
专家分:0
注 册:2008-5-3
收藏
得分:0 
同一级别的

爱上你 是 我的错  可是离 开  又舍不得  听着你为我写的歌     好难过
如果说 我说如果  我们还 能  重新来过   不去计 较 谁对谁错  会怎么做
2008-06-04 15:51
smltq
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:566
专家分:400
注 册:2008-1-21
收藏
得分:0 
[bo][un]liyanhong[/un] 在 2008-6-4 15:36 的发言:[/bo]


void change_p(int *pi)
{
    *pi+=2;  //这里*pi+2也就是说a[1]+=2;
     pi+=2 ...
//这里你把pi的地址加2了……pi已经不在是a[1]的地址了,后面就不要说了吧
2008-06-04 17:08
xiaofeixia99999
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2008-5-27
收藏
得分:0 
回复 8# smltq 的帖子
这个还是不理解.

我觉得可能是*pi+=2没有算.
只有pi+=2算了.
不然不会只等于6

照你那样说.你能说说为什么后面同样是*pi+=2;
后面一个为什么没有算吗
2008-06-04 17:31
smltq
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:566
专家分:400
注 册:2008-1-21
收藏
得分:0 
void change_p(int *pi)
{
    *pi+=2;//这里a[1]=4+2
     pi+=2;//你拿指针的值来加……pi已经不在指向a[1]了,已经指向a[3]了
    *pi+=2;//你把a[3]的值加2了
}
2008-06-04 18:06
smltq
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:566
专家分:400
注 册:2008-1-21
收藏
得分:0 
你打印的是p指针所指向的内容也就是a[1]当然是6喽
2008-06-04 18:08
快速回复:*pi+=2;pi+=2;*pi+=2; 指针问题求解
数据加载中...
 
   



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

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