现有如下定义语句int*p,s[20],i;p=s;表示数组元素s[i]的表达式不正确的是A.*(s+i)B.*(p+i)C.*(s=s+i)D.*(p=p+i)

题目

现有如下定义语句

int*p,s[20],i;

p=s;

表示数组元素s[i]的表达式不正确的是

A.*(s+i)

B.*(p+i)

C.*(s=s+i)

D.*(p=p+i)


相似考题
参考答案和解析
正确答案:C
更多“现有如下定义语句 int*p,s[20],i; p=s; 表示数组元素s[i]的表达式不正确的是 A.*(s+ ”相关问题
  • 第1题:

    现有如下定义语句 int*p,s[20],i;   p=s; 表示数组元素s[i]的表达式不正确的是()

    A.*(s+i)

    B.*(p+i)

    C.*(s=s+i)

    D.*(p=p+i)


    C 解析:当p指向s数组的首地址时,表示数组元素s[i]的表达式应当有:①s[i],②,(s+i),③*(p+i),④p[i]四种形式。选项C)错误的原因是,数组的地址是不可变的,指针的地址是可以变的。

  • 第2题:

    设有定义语句“float s[10],*p1=s,*p2=s+9;”,则下列表达式中,不能表示数组s的合法数组元素的是()

    A.*(p1--)

    B.*(p1)

    C.*(--p2)

    D.*(p2)


    * ( ++p2 )

  • 第3题:

    下面的程序的功能是求一维数组中的最小元素。 findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p<t;p++) if(s[p]<s[*k]) (); } void main() { int a[10],i,*k=&i; for(i=0;i<10;i++) scanf("%d",&a[i]); findmin(a,10,k); printf("%d,%dn",*k,a[*k]); }


    i<n a[i] 在main函数中,randomize是为了生成随机种子,以便在使用rand函数时产生不同的数。通过循环用rand函数产生10个随机数。在fun函数中,要在n个数中找最大值,所以第一处填写i<n,每次将当前最大值与数组中的某元素比较,第二处填写a[i]。

  • 第4题:

    现有如下定义语句,表示数组元素s[i]的表达式不正确的是()。 int*p,s[20],i; p=s;

    A.*(s+i)

    B.*(p+i)

    C.*(s=s+i)

    D.*(p=p+i)


    C

  • 第5题:

    5、现有如下定义语句 int*p,s[20],i;   p=s; 表示数组元素s[i]的表达式不正确的是()

    A.*(s+i)

    B.*(p+i)

    C.*(s=s+i)

    D.*(p=p+i)


    *(s=s+i)