( 8 ) 利用表达式 a[i] 可以访问 int 型数组 a 中下标为 i 的元素 。 在执行了语句 int *p=a; 后 , 利用指针 p也可访问该元素,相应的表达式是 【 8 】 。
第1题:
以下程序调用findmax函数求数组中值最大的元素在数组中的下标,请选择填空: #include<stdio.h> findmax(int*s,int t,int*k) { int p; for(p=0,*k=p;p<t;p++) if(s[p]>s[*k])________; } main() { int a[10],i,k; for(i=0;i<10;i++)scanf("%d",&a[i]); findmax(a,10,&k); printf("%d,%d\n",k,a[k]); }
A.k=p
B.*k=p-s
C.k=p-s
D.*k=p
第2题:
程序中有语句:for(inti=0;i<5;i++)cout<<*(p+i)<<",";能够依次输出int型一维数组a的前5个元素。由此可知,变量P的定义及初始化语句是( )。
A.int*p=a;
B.intp=a;
C."p=a;
D.p=a;
第3题:
假设用下列语句申请了一片动态内存空间,并用指针变量指p向了它,用这片内存保存m×n个int型数据,即作为一个二维动态数组来使用,那么下面通过p访问这个二维动态数组第i行第j列元素的方法中正确的是()。 int *p; p=(int *)malloc(m*n*sizeof(int)); 或 int *p; p=(int *)calloc(m*n,sizeof(int));
A.*(p+i*n+j)
B.p+i*n+j
C.p[j*n+i]
D.p[i][j]
第4题:
程序中有如下语句for(int i=0;i<5;i++)cout<<*(p+i)<<",";能够依次输出int型一维数组a的前5个元素。由此可知,变量P的定义及初始化语句是( )。
A.int*p=a;
B.int p=a;
C.*p=a;
D.p=a;
第5题:
现有如下定义语句 int*p,s[20],i; p=s; 表示数组元素s[i]的表达式不正确的是()
A.*(s+i)
B.*(p+i)
C.*(s=s+i)
D.*(p=p+i)