• 2022-06-14
    若有定义int a, b;则用( )定义的函数,执行语句swap(&a, &b);后,变量a与b的值没有交换。
    A: swap(int *p, int *q) { int *t; t=(int*)malloc(sizeof(int)); //分配4个字节的存储空间给t *t=*p;*p=*q;*q=*t; }
    B: swap(int*p, int*q) { int t; t=*p;*p=*q;*q=t; }
    C: swap(int *p, int *q) { int *t; t=p; p=q; q=t; }
    D: swap(int *p, int *q) { int a, *t=&a; *t=*p; *p=*q; *q=*t; }