[单选题]

如果定义
float a[10], x;
则以下叙述中正确的是(  )。

A.语句a=&x;是非法的

B.表达式a+1是非法的

C.三个表达式a[1]、*(a+1)、*&a[1]表示的意思完全不同

D.表达式*&a[1]是非法的,应该写成*(&(a[1]))

参考答案与解析:

相关试题

设有两行定义语句:<br />int scanf;<br />float case;<br />则以下叙述正确的是(  )。

[单选题]设有两行定义语句:int scanf;float case;则以下叙述正确的是(  )。A.第2行语句不合法B.两行定义语句都合法C.第1行语句不合法

  • 查看答案
  • 设有两行定义语句:<br />int scanf;<br />float case;<br />则以下叙述正确的是(  )。

    [单选题]设有两行定义语句:int scanf;float case;则以下叙述正确的是(  )。A.两行定义语句都不合法B.两行定义语句都合法C.第1行语句不

  • 查看答案
  • 设有两行定义语句:<br />int  scanf;<br />float case;<br />则以下叙述正确的是(  )。

    [单选题]设有两行定义语句:int  scanf;float case;则以下叙述正确的是(  )。A.第2行语句不合法B.两行定义语句都合法C.第1行语句不合

  • 查看答案
  • 设已有定义:<br />float x;<br />则以下对指针变量p进行定义且赋初值的语句中正确的是(  )。

    [单选题]设已有定义:float x;则以下对指针变量p进行定义且赋初值的语句中正确的是(  )。A.float*p=&x;B.int*p=(float)x;C

  • 查看答案
  • 若程序中有宏定义行:<br />#define N 100<br />则以下叙述中正确的是(  )。

    [单选题]若程序中有宏定义行:#define N 100则以下叙述中正确的是(  )。A.宏定义行中定义了标识符N的值为整数100B.在编译程序对C源程序进行预

  • 查看答案
  • 若有定义语句:<br />int a[2][3],*p[3];<br />则以下语句中正确的是(  )。

    [单选题]若有定义语句:int a[2][3],*p[3];则以下语句中正确的是(  )。A.p[0]=&a[1][2];B.p[0]=a;C.p=a;D.p[

  • 查看答案
  • 设有定义:struct{intn;floatx;}<br />s[2],m[2]={{10,2.8},{0,0.0}};<br />则以下赋值语句中正确的是(  )。

    [单选题]设有定义:struct{intn;floatx;}s[2],m[2]={{10,2.8},{0,0.0}};则以下赋值语句中正确的是(  )。A.s[

  • 查看答案
  • 设有定义:<br />int a;float b;<br />执行<br />scanf"(″-%f″,&a,&b);<br /&g

    [单选题]设有定义:int a;float b;执行scanf"(″-%f″,&a,&b);语句时,若从键盘输入876 543.0则a和b的值分别是(  )。A

  • 查看答案
  • 若有以下定义<br />int x[10],*pt=x;<br />则对x数组元素的正确引用是(  )。

    [单选题]若有以下定义int x[10],*pt=x;则对x数组元素的正确引用是(  )。A.*&x[10]B.*(x+3)C.*(pt+10)D.pt+3

  • 查看答案
  • 若有以下定义:<br />int x[10], *pt=x;<br />则对x数组元素的正确引用是(  )。

    [单选题]若有以下定义:int x[10], *pt=x;则对x数组元素的正确引用是(  )。A.*&x[10]B.*(x+3)C.*(pt+10)D.pt+3

  • 查看答案