关于#c语言#的问题:指针替换函数


int fun(int* a, int* b, int* c)
{
    int* t;
    t = a;
    a = b;
    b = t;
            
    *t = *a;   
    *b = *c;    
    *c = *t;    
             
    


}
int main()
{
    int a = 5, b = 7, c = 3;
    printf("a:%d,b:%d,c:%d\n", &a, &b,&c);
    int* p1 = &a, * p2 = &b, * p3 = &c;
    fun(p1, p2, p3);
    printf("%d,%d,%d", a, b, c);     //为什么输出结果为373
}
不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

你这函数是实现不了外部变量值交换的

int t;
你要实际分配一个空间