| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 354 人关注过本帖
标题:交换两个变量的值,关于形参实参是否变化的问题
只看楼主 加入收藏
未微电子
Rank: 2
来 自:丹霞地貌
等 级:论坛游民
帖 子:47
专家分:57
注 册:2013-2-24
结帖率:88.89%
收藏
已结贴  问题点数:1 回复次数:4 
交换两个变量的值,关于形参实参是否变化的问题
#include<stdio.h>

void ff (int a, int b);

int main(void)
{
    int a = 7, b = 9;//实参

    ff (a, b);

    printf("a = %d, b = %d\n", a, b);

    return 0;
}

void ff (int x, int y )//形参
{
    int c;

    c = x;
    x = y;
    y = c;
}

//形参变,实参不变。

////////////////////////////////////////

#include<stdio.h>

void ff (int *a, int *b);

int main(void)
{
    int a = 7, b = 9;//实参

    ff (&a,&b);

    printf("a = %d, b = %d\n", a, b);

    return 0;
}

void ff (int *x, int *y )//形参
{
    int c;

    c = *x;
    *x = *y;
    *y = c;
}

//用指针,形参变,实参也变
搜索更多相关主题的帖子: void include return 
2013-03-06 13:12
梦幻乐园
Rank: 2
等 级:论坛游民
帖 子:62
专家分:87
注 册:2012-10-25
收藏
得分:0 
明白了
2013-03-06 13:22
郭俊森
Rank: 1
等 级:新手上路
帖 子:27
专家分:3
注 册:2013-2-28
收藏
得分:0 
还没学这些
2013-03-06 13:32
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:1 
知其然,而不是其所以然
“其所以然”的本质是:参数传的是值

void ff( int x, int y )
{
    int c = x;
    x = y;
    y = c;
}
int main(void)
{
    int a=7, b=9;
    ff( a, b );
    printf("a = %d, b = %d\n", a, b);

    return 0;
}
行为等同于
int main(void)
{
    int a=7, b=9;
    {
        int x=a, y=b;

        int c = x;
        x = y;
        y = c;
    }
    printf("a = %d, b = %d\n", a, b);

    return 0;
}
2013-03-06 13:49
好聚好散
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:138
专家分:123
注 册:2012-12-4
收藏
得分:0 
姬兄,把分给我,,来我寝室,我教你mmp

无节操,无真相
2013-03-06 16:02
快速回复:交换两个变量的值,关于形参实参是否变化的问题
数据加载中...
 
   



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

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