有四组对指针变量进行操作的语句,以下判断正确的选项是( )。 (1)int *p,*q;q=p; int a,*p,*q;p=q=&a; (2)int a,*p,*q;q=&a;p=*q; int a=20,*p;*p=a; (3)int a=b=0,*p;p=&a;b=*p; int a=20,*p,*q=&a;*p=*q; (4)int a=20,*p,*q=&a;p=q; int p,*q;q=&p;
举一反三
- int a=20,*p,*q=&a;p=q; int p,*q;q=&p; 判断以下指针操作是否正确。
- 以下对指针变量的操作中,不正确的是( )。 A: int a, *p, *q; p=q=&a; B: int a, *p, *q; q=&a; p=*q; C: int a=6, b,*p; p=&a; b=*p; D: int a=6, *p, *q=&a; p=q;
- 以下对指针变量的操作中,不正确的是( )。 A: int p, *q; q=&p; B: int *p, *q; q=p=NULL; C: int a=5, *p, *q=&a; p=q; D: int a=5, *p; *p=a;
- 以下对指针变量的操作中,错误的程序段是( )。 A: int x=0,*p; *p=x; B: int x=1,*p,*q=&x;p=q; C: int *p,*q; q=p=NULL; D: int p,*q; q=&p;
- 若有定义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; }