void swap(int * p,int *q) { int temp; temp = *p; *p = *q; *q = temp; }
void swap(int* p,int* q) { int* temp; *temp = *p; *p = *q; *q = *temp; }
void swap(int* p,int* q) { int* temp; temp = p; p = q; q = temp; }
void swap(int p, intq) { int temp; temp = p; p = q; q = temp; }
A 选项中的函数定义了一个swap函数,接受两个指针作为参数。在函数体内,通过指针操作实现了交换两个指针所指向的值。这是一种常用的交换两个变量值的方法。
B 选项中的函数定义了一个swap函数,但在交换指针所指向的值之前,没有为temp指针分配内存空间,导致指针未初始化,会导致未定义行为。
C 选项中的函数定义了一个swap函数,但在交换指针指向的地址之前,只是交换了指针本身的值,并没有交换指针所指向的值,因此无法达到交换值的目的。
D 选项中的函数定义了一个swap函数,但使用的是传值方式传递参数,函数内部交换的是局部变量p和q的值,并不会对原始参数产生影响。