| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1035 人关注过本帖
标题:让人头疼的指针问题
取消只看楼主 加入收藏
zmrfff
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2008-10-21
结帖率:95.83%
收藏
已结贴  问题点数:20 回复次数:2 
让人头疼的指针问题
最近在学习指针,但学的有点糊涂了,这道题怎么都分析不清楚,还望哪位高手指点一下,能让我理清思路,想清楚前因后果,谢谢啦!
程序如下:
#include <stdio.h>
void main()
{
    int x=1,y=2,*p1,*p2,*t;
         p1=&x,p2=&y;
    t=p1;p1=p2;p2=t;
    printf("%d %d\n",x ,y);
    printf("%d %d\n",*p1 ,*p2);
}
我上机运行了一下,结果为1,2   2,1
我不明白的是,为什么输出 x,y 值为1,2,x不就是*p1,y不就是*p2么?为什么输出结果不是2,1呢?
搜索更多相关主题的帖子: 指针 头疼 
2009-08-08 09:19
zmrfff
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2008-10-21
收藏
得分:0 
那么在printf("%d %d\n",x ,y);  这条语句中,是不是可以理解为x=*p2,y=*p1 ?说实话我还是不大明白><
2009-08-08 23:29
zmrfff
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2008-10-21
收藏
得分:0 
说实话,没有一个回答让我很明白的。我自己再好好想想,多谢了!
2009-08-10 21:00
快速回复:让人头疼的指针问题
数据加载中...
 
   



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

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