标题:值传递,地址传递,引用传递
取消只看楼主
sun934191037
Rank: 1
等 级:新手上路
帖 子:12
专家分:2
注 册:2013-3-27
结帖率:66.67%
已结贴  问题点数:10 回复次数:0 
值传递,地址传递,引用传递
这不是地址传递吗?为什么没有交换a,b的值呀。。。。。。。。。代码如下
#include<stdio.h>
void fun(int *a,int *b)
{
    int *t;
    t=a;
    a=b;
    b=t;
    printf("%d,%d\n",*a,*b);
}
void main()
{
    int a,b;
    scanf("%d%d",&a,&b);
    fun(&a,&b);
    printf("%d,%d\n",a,b);

}
但是改成这样就可以交换a,b的值了........
#include<stdio.h>
void fun(int *a,int *b)
{
    int t;
    t=*a;
    *a=*b;
    *b=t;
    printf("%d,%d\n",*a,*b);
}
void main()
{
    int a,b;
    scanf("%d%d",&a,&b);
    fun(&a,&b);
    printf("%d,%d\n",a,b);

}
求大侠帮忙解释一下。。。。。。。

搜索更多相关主题的帖子: void fun include 
2013-04-03 18:04



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-402981-1-1.html




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

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