int a[10]={1,2,3,4,5,6,7,8}; int *p=a; 和a[i]起的作用不同的表达式是()。A.p[i]B.p+iC.*(p+i)D.*(a+i)

int a[10]={1,2,3,4,5,6,7,8}; int *p=a; 和a[i]起的作用不同的表达式是()。

A.p[i]

B.p+i

C.*(p+i)

D.*(a+i)


参考答案和解析
动力变质作用;接触变质作用;交代变质作用;区域变质作用

相关考题:

下列程序段不会发生二义性的是_。 A.int fun(double p){…;} float fun(float p){…;} int x; x=fun(0);B.int fun(float p){…;}float fun(unsigned p){…;} int x; x=fun(0);C.int fun(int i,int j=2){…;}float fun(int i){…;} coutfun(5);D.int fun(int i=2,int j=2){…;} int fun(int *p){…;} coutfun(5);

有以下程序#include stdio.hint b=2;int fun(int *k){ b=*k+b; return (b);}main(){ int a[10]={1,2,3,4,5,6,7,8},i;for(i=2;i4;i++) {b=fun(a[i])+b; printf("%d ",b);}printf("\n");}程序运行后的输出结果是A)10 12B)8 10C)10 28D)10 16

有以下程序:void f(int *x,int *y){ int *t; t=x; x=y ;y=t; *x=*y;}main(){ int a[8]={1,2,3,4,5,6,7,8},i,*p,*q; p=a;q=a[7]; while(pq) { f(p,q);p++;q--} for(i=0;i8;i++)printf("d,",a[i]);}程序运行后的输出结果是( )。A.8,2,3,4,5,6,7,1,B.5,6,7,8,1,2,3,4,C.1,2,3,4,5,6,7,8,D.8,7,6,5,4,3,2,1,

下列程序的输出结果是( )。 void f(int*x,int*y) {int t; t=*x,*x=*y;*y=t; } main() {int a[8]={1,2,3,4,5,6,7,8},i,*p,*q; p=a;q=a[7]; while(p<q) {f(p,q);p++;q--;} for(i=0;i<8;i+)printf("%d,",a[i]); }A.8,2,3,4,5,6,7,1B.5,6,7,8,1,2,3,4C.1,2,3,4,5,6,7,8D.8,7,6,5,4,3,2,1

(35)有以下程序#include stdio.hint b=2;int fun(int *k){ b=*k+b;return(b);}main(){ int a[10]={1,2,3,4,5,6,7,8},I;for(i=2;i4;i++) {b=fun(a)+b;printf(“%d”,b);}printf(“\n”);}程序运行后输出的结果是A)10 12 B)8 10 C)10 28 D)10 16

( 8 ) 利用表达式 a[i] 可以访问 int 型数组 a 中下标为 i 的元素 。 在执行了语句 int *p=a; 后 , 利用指针 p也可访问该元素,相应的表达式是 【 8 】 。

主程序调用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("A.k=pB.*k=pC.k=p-sD.*k=p-s

下面程序段的输出结果是( )。 public class Test {public static void main(String args[]){ int[] a=new int[11]; int[] p=new int[4]; int k=5; for(int i= 1 ; i<= 10;i++) a[i]=i; for(int i=1 ; i<=3;i++) p[i]=a[i*i]; for(int i= 1 ;i<=3;i++) k=k+p[i]*2; System.out.println(k); }}A.37B.31C.33D.35

int a[10]={1,2,3,4,5,6,7,8};int *p;p=p[-3]的值是()。 A. 2B. 3C. 4D. 不一定

有如下程序段: int a[10],*p[3],**pp,i; for(i=0;i<3:i++) p[i]=a[i*4); pp=p; 则正确表示数组a元素的表达式是 ______。A.ppB.a[10]C.p[3]D.*(*(p+2))

有以下程序includeintt b=2;int fun(int*k) {b=*k+b;return(b);}main(){int a[10]={1, 有以下程序 #include<stdio.h> intt b=2; int fun(int*k) {b=*k+b;return(b);} main() { int a[10]={1,2,3,4,5,6,7,8,},i; for(i=2;i<4;i++) {b=fun(a[i])+b; printf("%d",b);} print("\n"); } 程序运行后的输出结果是______。A.10 12B.8 10C.10 28D.10 16

主程序调用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=pB.*k=pC.k=p-sD.*k=p-s

有以下程序 void f(int *x,int *y) { int t; t=*X; *X=*y; *y=t; } main() { int a[8]={1,2,3,4,5,6,7,8},i,*p,*q; p=a; q=a[7); while(p>q) { f(p,q); p++; q--; } for(i=0; i<8; i++) printf("%d,",a[i]); } 程序运行后的输出结果是A.8,2,3,4,5,6,7,1,B.5,6,7,8,1,2,3,4,C.1,2,3,4,5,6,7,8,D.8,7,6,5,4,3,2,1,

有以下程序: void f(int*x,int*y) { int t; t=*x;*x=*y;*y=t; } main() { int a [8]={1, 2,3,4,5, 6, 7,8},i,*p,*q; p=a;q=a[7]; while(p<q) {f(p,q);p++;q-;} for(i=0;i<8;i++)printf("%d,"a[i]); } 程序运行后的输出结果是 ______。A.823,4,5,6,7,1,B.5,6,7,8,12,3,4,C.1,2,3,4,5,6,7,8,D.8,7,6,5,4,3,2,1,

下列程序的执行结果是( )。includeint fun(int b[],int n){ int i,r=1;for(i=0;i 下列程序的执行结果是( )。 #include<iostream.h> int fun(int b[],int n) { int i,r=1; for(i=0;i<n;i++) r=r*b[i]; return r; } void main() { int x,a[]={1,2,3,4,5,6,7,8}; x=fun(a,3); cout<<x<<end1; }A.5B.6C.7D.8

有以下程序:includeint fun(int*k){int b=0;b=*k+b:return(B);}main(){int a[10]={1,2 有以下程序: #include<stdio.h> int fun(int*k) {int b=0; b=*k+b: return(B);} main() {int a[10]={1,2,3,4,5,6,7,8},i; for(i=2;i<4;i++){printf("%d",fun(a[i]));} printf("\n"); } 程序运行后的输出结果是( )。A.10 12B.8 10C.3 4D.10 28

有以下程序: voidf(int*x,int * y) { int t; t= *x;*x= *y;*y=t; } main() { inta[8]={1,2,3,4,5,6,7,8},i,*p,*q; p=a;q=a[7]; while(p) { f(p,q);p++;q--;} for(i=0;i<8;i++)printf("%d,",a[i]); } 程序运行后的输出结果是______;A.8,2,3,4,5,6,7,1,B.5,6,7,8,1,2,3,4,C.1,2,3,4,5,6,7,8,D.8,7,6,5,4,3,2,1,

下面程序段的输出结果是( )。 public class TeSt{ public static voidmain(Stringargs[]){ int[]a=new int[11]; int[]p=new int[4]; intk=5; for(int i=1;i<=10;i++) a[i]=i; for(inti=1;i<=3;i++) p[i]=a[i*i]; for(inti=1;i<=3;i++) k=k+p[i]*2; System.out.println(k); } }A.37B.31C.33D.35

以下程序的执行结果是()。includeint fun(int b[],int n){int i,r=1;for(i=0;i 以下程序的执行结果是( )。 #include<iostream.h> int fun(int b[],int n) { int i,r=1; for(i=0;i<n;i++) r=r*b[i]; } void main() { int x,a[]={1,2,3,4,5,6,7,8}; x=fun(a,3); cout<<x<<endl; }A.5B.6C.7D.8

下列有关指针的用法中,错误的是( )。A.int i;int *p=i;B. int i;int *p;i=*p;C. int *p;p=0;D.int i=5;int *p;p=i;

下列语句中正确的是()。A.int * p;i=8; p=i;B.int * p,i; p=i;C.float * p;int i;p=i=8; p=i;B.int * p,i; p=i;C.float * p;int i;p=(float)i;D.float * p;cout<<* p;

主程序调用findmax函数求出数组中最大元素在数组中的下标,括号中需填写的内容是#includestdio.hfindmax(int*s,int t,int *k){ int p;for(p=0, *k=p; pt; p++)if(s[p]s[*k])( ); }main(){ int a[10],i,k;for(i=0; i10;i++)scanf(" %d",a[i]);findmax(a,10,k);printf(" %d%d\n",k,a[k];) }A.k=pB.*k=pC.k=p-sD.*k=p-s

有以下程序:include void f(int * x,int * y) int t;t= *x; *x= *y; *y=t;main ( ){in 有以下程序:#include <stdio.h>void f(int * x,int * y) int t; t= *x; *x= *y; *y=t;main ( ){ int a[8] = { 1,2,3,4,5,6,7,8} ,i, * p, * q; p=a;q =a[7]; while(p<q) { f(p,q) ;p ++ ;q --; } for(i =0;i<8;i ++ ) printf(" % d," ,a[i]); }程序运行后的输出结果是( )。A.8,2,3,4.,5,6,7,1,B.5,6,7,8,1,2,3,4,C.1,2,3,4,5,6,7,8,D.8,7,6,5,4,3,2,1,

下列程序的运行结果是______。include int Func(int *a,int n) {int s=1; for(int i=0 下列程序的运行结果是______。include<iomanip.h>int Func(int *a,int n){int s=1;for(int i=0;i<n;i++)s*=*a++;returns;}void main(){inta[]:{1,2,3,4,5,6,7,8};intb=Func(a,6)+Func(a[5],2);cout<<“b=“<(b<<endl;}

单选题以下选项中,不能对主函数中变量i和j的值进行交换的程序是(  )。A#include stdio.hvoid swap(int *p, int *q){ int *t; *t = *p; *p = *q; *q = *t;}main(){ int i=10, j=20,*a=i,*b=j; swap(a,b); printf(i=%d j=%d,i,j);}B#include stdio.hvoid swap(int *p, int *q){ int t; t = *p; *p = *q; *q = t;}main(){ int i=10,j=20,*a=i,*b=j; swap(a,b); printf(i=%d j=%d,i,j);}C#include stdio.h#include stdlib.hvoid swap(int *p, int *q){ int *t; t = (int *)malloc(sizeof(int)); *t = *p; *p = *q; *q = *t; free(t);}main(){ int i=10,j=20; swap(i,j); printf(i=%d j=%d,i,j);}D#include stdio.hvoid swap( int *p, int *q){ int t; t = *p; *p = *q; *q = t;}main(){ int i=10,j=20,*x=i,*y=j; swap(x,y); printf(i=%d j=%d,i,j);}

单选题有如下程序:#include int *sum(int data){ static int init=0; init+=data; return init;}main(){ int i,*p; for(i=1;i=4;i++) sum(i); p=sum(0); printf(%d,*p);}程序运行后的输出结果是(  )。A15B0C1D10

单选题下列有关指针的用法中,错误的是(  )。Aint i;int *p=i;Bint i;int *p;i=*p;Cint *p;p=0;Dint i=5;int *p;p=i;

单选题有以下程序:#includeint b=2;int fun(int *k){ b=*k+b; return(b);}main(){ int a[10]={1,2,3,4,5,6,7,8},i; for(i=2;i4;i++) {  b=fun(a[i])+b;  printf(%d,b); } printf();}程序运行后的输出结果是(  )。A1012B810C1028D1016