题目内容

下面关于表达式(*p)++和*p++的含义分析说明中,错误的是

A. (*p)++指的是先取出p指向的存储单元中的内容,然后将取出的数值加1,此时p不再指向原来的存储单元。
B. (*p)++指的是先取出p指向的存储单元中的内容,然后将取出的数值加1,而p仍然指向原来的存储单元。
C. *p++,相当于*(p++),指的是先取出p指向的存储单元中的内容,然后将p值加1,此时p不再指向原来的存储单元。
D. 表达式(*p)++和*p++具有不同的含义,(*p)++并没有修改指针p的指向,而*p++则修改了指针p的指向。

查看答案
更多问题

若有定义int a[3][5]; 则对数组元素a[1][3]不能正确引用的是( )

A. *(a[1]+3)
B. *(*a+1)+3
C. (*(a+1))[3]
D. *(*(a+1)+3)

以下程序运行后的输出结果是#include int main(){ int a[3][3],*p,i; p=&a[0][0]; for(i=0;i<9;i++) {p[i]=i+1; } printf("%d\n",a[1][2]); return 0;}

A. 2
B. 3
C. 6
D. 9

若有定义:int a[3][2]={1,2,3,4,5,6}, 则*(*(a+2)+1)+7的值是( )。

A. 8
B. 11
C. 12
D. 13

已知定义int a[]={1,2,3,4},y,*p=&a[1];,执行y=(*--p)++;后,y的值是()。

A. 0
B. 1
C. 2
D. 3

答案查题题库