niusouti.com
更多“设有:inta[]={10,20,30,40},*p=a;,下列表达式值为40的是()。 ”相关问题
  • 第1题:

    设有定义语句“int a[]={2, 4,6,8,10},*p=s;”,则值为8的表达式是( )

    A.*p+3

    B.*p+4

    C.*(p+4)

    D.*(s+3)


    正确答案:D
    分析四个备选答案,可以看出是用指针法来引用数组a的元素。当指针变量p已经指向数组。的首地址后(正如本题那样),*(p+i)和*(s+i)都是数组元素a[i]。对于备选答案A:*p就是数组元素。a[0],其值为2,再加3结果为5,不符合题意。同样道理,备选答案B中的*p十4的值为6,也不符合题意。对于备选答案C:*(p+4)代表数组元素a[4],其值为10,也不符合题意。显然本题答案应选D。因为*(s+3)就是数组元素s[3],其值为8。

  • 第2题:

    假设有定义: int d[3]={10,20,30}; struct sp { int a; int *b; }t[3]={70,&d[0],80,&d[1],90,&d[2]},*p=t; 则表达式++(p->a)+*++p->b的值为();


    91

  • 第3题:

    设有以下定义和语句: int a[3][2]={10,20,30,40,50,60}, (*p)[2]; p=a; 则*(*(p+2)+1)的值为______。


    f是指向函数的指针变量,该函数具有一个int类型的形参

  • 第4题:

    假设有定义int a[]={10,20,30,40,50,60,70,80,90,100},*p=a;,则表达式*p+9的值为100。


    91

  • 第5题:

    有以下程序 main() { int a[] = {10,20,30,40},*p = a, i; for(i = 0;i <= 3;i++) { a[i] = *p; p++; } printf("%dn",a[2]); } 程序运行后的输出结果是______。

    A.30

    B.40

    C.10

    D.20


    b,b