问答详情
源自:6-5 数组的应用(一)

调换问题..

#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;

}

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

提问者:待我强大给你天下 2016-01-12 18:16

个回答

  • 待我强大给你天下
    2016-01-13 11:58:56

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


  • RockenRoll
    2016-01-13 10:50:50

    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;
        
    }

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