指针

*
您的姓名:
*
1.
若有以下定义,则p+5表示_______.int a[10],*p=a;
A.元素a[5]的地址
B.元素a[5]的值
C.a[6]的地址
D.元素a[6]的值
*
2.
有以下程序段int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b; b=p[5]; b中的值是()
A.5
B.6
C.8
D.9
*
3.
.若有说明:int *p1, *p2,m=5,n;以下均是正确赋值语句的选项是(  )
A.p1=&m; p2=&p1 ;
B.p1=&m; p2=&n; *p1=*p2 ;
C.p1=&m; p2=p1 ;
D.p1=&m; *p1=*p2 ;
*
4.
已有定义int k=2;int *ptr1,*ptr2;且ptr1和ptr2均已指向变量k,下面不能正确执行的赋值语句是
A. k=*ptr1+*ptr2
B. ptr2=k
C. ptr1=ptr2
D. k=*ptr1*(*ptr2)
*
5.
若有定义:int a[2][3];则对a数组的第i行第j列元素值的正确引用是
A. *(*(a+i)+j)
B. (a+i)[j]
C. *(a+i+j)
D. *(a+i)+j
6.
以下程序可找出数组中的最大值和此元素的下标,数组元素的值由键盘输入。请从对应的一组选择项中,选择正确的选项填空。*
int main()
{
int a[10],*p,*s,i;
printf("Enter a[0] a[1] … a[9l: ");
for(i=0;i<10;i++)
scanf("%d", [1] );
for(p=a,s=a; [2] <10;p++)
if(*p>*s)s= [3] ;
printf("max=%d,index=%d\n", [4] , [5] );
}
(1)(A)*(a+i) (B)p+i (C)a+i (D)a[i]
(2) (A) p-a (B) s-a (C) a-p (D) a-s
(3)(A)p (B)a[p] (C)a[s] (D) a-p
(4)(A)a[p-a] (B)a[p] (C)*s (D)a[s]
(5) (A) p-a (B)p (C) s-a (D) a-s
[1]:
[2]:
[3]:
[4]:
[5]:
问卷星提供技术支持
举报