设p和q是指向同一个数组的指针变量(q>;p),k为同类型的变量,则下面语句中合法的是
A: k=*(p+q)
B: k=*(q-p)
C: p+q
D: k=*p*(*q)
A: k=*(p+q)
B: k=*(q-p)
C: p+q
D: k=*p*(*q)
D
举一反三
- 设p和q是指向同一个整型一维数组的指针变量,f为整型变量,则不能正确执行的语句是()。 A: k=*p+*q B: q=f C: p=q D: k=*p*(*q)
- 有以下定义语句int k=2,*p,*q; q=&k;那么给p赋值为q所指向的地址的语句为p=q;。
- 已有定义int a=2,*p,*q;且p,q均已指向变量a,下面不可以正确赋值的语句是() A: a=*p*(*q) B: p=a C: p=(*p)*(*q) D: a=*p+*q
- 有变量定义及语句“inta=3,b=5,*p,*q;p=&a;q=&b;”,若要让p也指向b,则可以实现的赋值语句是()。 A: *p=*q; B: p=q; C: p=*q; D: *p=q;
- 假设 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;
内容
- 0
下面哪个选项可以交换指针p和q所指的int型变量的值? A: temp = *p; *p = *q; *q = temp; B: temp = p; p = q; q = temp; C: temp = p; *p = *q; q = temp; D: temp = &p; *p = *q; q = *temp;
- 1
有四组对指针变量进行操作的语句,以下判断正确的选项是( )。 (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;
- 2
设p,q均为质数,且p+q=99,则p、q的积pq=______.
- 3
下列程序段的输出是_____。int *p, *q, k = 5 , j = 6 ;q = p = q ; q = printf("%d", *p);
- 4
设p和q是指针,如果q==p,则*p==*q。