一个简单的两数交换函数,但是报错

img

img


这为什么给我报错啊,不能理解,编译器也没出错,就是运行不了,来个大lao给解答一下

值参是不能修改外部传入变量值的,改为指针

void exchange(int *x,int *y)
{
    int temp = *x;
    *x  = *y;
    *y = temp;
}

代码看起来没有问题呀,会不会是编辑器的原因,你在函数里面输出了内容,可以说是已经完成了交换,然后你主函数里面的输出是没有交换的内容,可以用exchange(int &x,int &y)或者exchange(int* x,int* y),完成数据的真正交换