单项选择题

以下4个程序中,不能实现两个实参值进行交换的是 ( )。

A.void swap (float *p, float *q)

float *t ,a; t = &a;
t = p; *p = *q; *q = *t;

void main ()

float x = 8.0;y = 9.0;
swap (&x, &y);
cout<<x<<", "<<y<<end1;

B.void swap (float *p, float *q)

float a;
a = *p; *p = *q; *q = a;

void main()

float x = 8.0;y = 9.0;
swap (&x, &y);
cout<<x<<", "<<y<<end1;

C.void swap (float *p, float *q)

float x;
x = *p; *p = *q; *q = x;

void main()

float a,b.;
*a = 8.0;*b = 9.0;
swap (a,b) ;
cout<<x<<", "<<y<<end1;

D.void swap (float &p, float &q)

float a;
a = p; p = q; q = a;

void main()

float a = 8.0,b = 9.0;
swap (a,b);
cout<<x<<", "<<y<<end1;