| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 687 人关注过本帖
标题:指针问题?
取消只看楼主 加入收藏
恩怨情仇
Rank: 1
等 级:新手上路
帖 子:61
专家分:2
注 册:2008-11-8
结帖率:71.43%
收藏
 问题点数:0 回复次数:1 
指针问题?
int abc(int *x,int *y)                                          int abc(int *x,int *y)
{int a;                                                          {int a;
    a=*x;                                                         a=*x;
    *x=*y;                                                        *x=*y;
    *y=a;                                                          *y=a;
 }                                                                 }
main()                                                            main()
{int a,b,*c,*d;                                                   {int a,b,*c,*d;
    scanf("%d%d",&a,&b);                                       scanf("%d%d",&a,&b);
    c=&a;d=&b;                                                     c=&a;d=&b;
    if(a>b) abc(c,d);                                           if(a>b) abc(*c,*d);
    printf("a=%db=%d\n",a,b);                                      printf("a=%db=%d\n",a,b);
   
}                                                                     }
请教各位,为什么 abc(c,d)不能换成abc(*c,*d)呢?
指针变量*c,*d不是分别指向a.b的吗,在调用"abc"时,为什么(*x,*y)就不能转换了
搜索更多相关主题的帖子: 指针 
2008-12-13 16:29
恩怨情仇
Rank: 1
等 级:新手上路
帖 子:61
专家分:2
注 册:2008-11-8
收藏
得分:0 
谢谢LS我主要使用指针做参数进行值传递,不明白的是前者"c,d"分别为"&a,&b",后者"*c,*d"不也是"&a,&b"吗?为什么后者不能换成前者了
2008-12-13 16:52
快速回复:指针问题?
数据加载中...
 
   



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

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