问题

在 16 位编译系统上,若有定义 int a[]={10,20,30}, *p=&a; ,当执行 p++; 后,下列说法错误的是

A)p 向高地址移了一个字节

B)p 向高地址移了一个存储单元

C)p 向高地址移了两个字节

D)p 与 a+1 等价

参考答案
您可能感兴趣的试题
  • 有以下程序main(){ int a=1,b=3,c=5;int *p1=&a, *p2=&b, *p=&c;*p =*p1*(*p2);printf(%d\n,c);}执行后的输出结果是A)1B
  • 若有定义: int w[3][5]; ,则以下不能正确表示该数组元素的表达式是A)*(*w+3)B)*(w+1)[4]C)*(*(w+1))D)*(&w[0][0]+1)
  • 若有以下函数首部int fun(double x[10], int *n)则下面针对此函数的函数声明语句中正确的是A)int fun(double x, int *n);B)int fun(doubl
  • 若有定义语句: int k[2][3],*pk[3]; , 则以下语句中正确的是A ) pk=k;B ) pk[0]=&k[1][2];C ) pk=k[0];D ) pk[1]=k;
  • 有以下程序void change(int k[ ]){ k[0]=k[5];}main(){ int x[10]={1,2,3,4,5,6,7,8,9,10},n=0;while( n<=4 ) {
  • 若要求定义具有 10 个 int 型元素的一维数组 a ,则以下定义语句中错误的是A ) #define N 10int a[N];B ) #define n 5int a[2*n];C ) int