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); //为什么输出结果为3,7,3
}
不知道你这个问题是否已经解决, 如果还没有解决的话:相信通过这幅图,你应该可以理解#和##的用法了
你这函数是实现不了外部变量值交换的
int t;
你要实际分配一个空间