为了账号安全,请及时绑定邮箱和手机立即绑定

调换问题..

#include <stdio.h>

vioid change(int a, int b)

{

    int tmp =a;

    a=b;

    b=tmp;

}

int main()

{

int a=5;

int b=3;

change(a,b);

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

return 0;

}

这个程序不能实现 调换数值 而本节的数组却可以 为什么

正在回答

2 回答

我知道是要用指针 ,但是本节的数组排序, 没有用指针却也可以实现交换,为什么


0 回复 有任何疑惑可以回复我~

void change(int *n, int *m)

{
    
    int temp;
    
    temp = *n;
    
    *n = *m;
    
    *m = temp;
    
}

int main()

{
    int a = 5, b = 3;
    change(&a,&b);
    
    printf("num a=%d\nnum b=%d\n",a,b);
    
    return 0;
    
}

换成这样就可以了,通过交换变量地址的交换就可以了

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       924482    人
  • 解答问题       20757    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

调换问题..

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信