结果第二行调用函数为什么不能运行,实参变参,怎么得出a=2,b=1的结果,这里问题又出在哪里(语言-c语言)

img


结果第二行调用函数为什么不能运行,实参变参,怎么得出a=2,b=1的结果,这里问题又出在哪里(语言-c语言)

swap里面中 的ab是形参,不会对外面的ab值进行更改

你虽然调用了swap但是没有输出swap的结果,你可以修改swap传入ab地址,也可以从swap中输出a,b的值

#include<stdio.h>
void swap(int a,int b)
{
    int temp=a;
    a=b;
    b=temp;
    printf("a=%d b=%d\n",a,b);
}
int main()
{
    int a=1,b=2;
    printf("a=%d b=%d\n",a,b);
    swap(a,b);
    return 0;
}