假设 t 是整型变量,下面( )选项可以交换指针 p 和 q 所指的 int 型变量的值。
A: t = p; *p = *q; q = t;
B: t = &p; *p = *q; q = *t;
C: t = *p; *p = *q; *q = t;
D: t = p; p = q; q = t;
A: t = p; *p = *q; q = t;
B: t = &p; *p = *q; q = *t;
C: t = *p; *p = *q; *q = t;
D: t = p; p = q; q = t;
举一反三
- 若有定义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; }
- 以下程序段中能够正确实现p和q中两个字符串互换的是: A: char p[10]="hello", q[10]= "world", *t;strcpy(t,p); strcpy(p,q); strcpy(q,t); B: char p[10]= "hello", q[10]= "world", *t;t=p; p=q; q=t; C: char p[10]= "hello", q[10]= "world", t[10];strcpy(t,p); strcpy(p,q); strcpy(q,t); D: char p[10]= "hello", q[10]= "world", t[10];t=p; p=q; q=t;
- t=p;p=q;q=t
- 调用下列哪个函数,能交换两个指针的指向()。 char str[]="China"; char *p1 = str, *p2 = “加油”; Swap (p1, p2); cout<< p1 << p2; // 加油China A: void Swap(char *p, char *q){ char *t = 0; t=p; p=q; q=t;} B: void Swap(char* p, char *q){ char t; t=*p;*p=*q;*q=t;} C: void Swap(char * *p, char * *q){ char* t = 0; t=*p;*p=*q;*q=t;} D: void Swap(char* &p, char * &q){ char* t = 0; t=p; p=q; q=t;}
- 以下程序段中能够正确实现p和q中两个字符串互换的是: A: char p[10]="hello", q[10]= "world", *t;strcpy(t,p); strcpy(p,q); strcpy(q,t); B: char p[10]= "hello", q[10]= "world", *t;t=p; p=q; q=t; C: char p[10]= "hello", q[10]= "world", t[10];strcpy(t,p); strcpy(p,q); strcpy(q,t); D: char p[10]= "hello", q[10]= "world", t[10];t=p; p=q; q=t;