为您找到"

若有定义语句:int a[4]={0,1,2,3},*p;p=&a[1];则++(*p)的值是

"相关结果约100,000,000个

有定义:int a[12]={1,2,3,4,5,6,7,8,9,10,11,12},*p[4],i;for(i=0...

根据FOR循环,得知:p[0]=&a[0],p[1]=&a[3],p[2]=&a[6],p[3]=&a[9];(*(p+1)+2)=a[5]=6;*(p+1)即是数组p[1];内容是数组a的第三单元的地址。p[2]=a[6]=7;

若有定义语句:int a[2][3],*p[3],则以下语句中正确的是D.p[1]=&a;

【答案】:C 解析:A.写法错误,把数组a的首地址赋给指针数组p要打*号,B.写法错误,给指针数组赋值的应该是地址 D.写法错误,给p[1]赋值的应该是二维数组的一个具体的数组元素

...3][4]={{1,2,3},{4,5},{6,7,8}}; int *p; p=&a[0][0]; 求*(p+...

值为:5 根据指针的移动规则,*(p+5)的值应该是a[1][1]的值,即5。解释:p是指向a[0][0]的指针,将p+5,则指向a[1][1],即5的位置,因此*(p+5)的值为5。

main() { int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12}; int (*prt)[3...

都正确,你要知道,数据在内存当中的存储方式。你的*(*(a+1)+2)就是一行二列的元素,那就是6.而*(*(p+5))就是偏移量为5的那个元素,还是6啊。你的数组虽然是二维数组,但在内存当中还是以顺序的方式存放数据的。了解了就知道怎么回事了。 (提醒,别忘了数组是从0开始的,就是0行...

设变量定义为“int a[2]={1,3}, *p=&a[0]+1;”,则*p的值是___。具体...

p的值是3。第一条输出语句:printf("%s*p=&a[0]+1 相当于 int *p; p=a+1; 所以答案*p=a[1]=3。&a[0] 就是a数组的首地址 即相当于a 。 a+1就相当于指针下移一个单位。inta[2]={1,3}即a[0]=1,a[1]=3。p=&a[0]+1 这是一个指针变量,*p=&a[0]+1就是a[0]的...

...对象必须是整型的运算符是【 】 A. / B. % C. ++ D. !

 int x=3;do { printf("%d",x-=2);} while(!(--x));A. 1-2 B. 30 C. 1 D. 无输出 7、下列程序段执行之后,输出的结果是【A 】double x=4,y;if (x<0)y=0;elseif(x<10)y=1.0/x;else y=1;printf("%.2f\n",y);A. 0.25 ...

int[][4]={1,2,3,4,5,6,7,8};int(*p)[4]=a;则表达式**(p+1)-*(*p+...

记住一个万能公式就行了:(p + i) = p[i]所以:(p+1) = *(*(p+1)) = *(p[1]) = *(p[1] + 0) = p[1][0] = 5;(*p + 1) = *(*(p + 0) + 1) = *(p[0] + 1) = p[0][1] = 2;所以结果就是3了。

定义int a[ ]={1,2,3,4,5,6},*p=a;表达式(*++p)++的值是___.

是2 由于*p=a,p指向了a的第一个元素a[0](*++p)++ 这个先执行++p p指向a[1]p就是a[2]转化为a[2]++,由于++先算表达式值在自加1,所以这个表达式的值为2

若有以下定义和语句 int a=4,b=3,*p,*q,*w; p=&a;q=&b;w=q;q=NULL...

这里的“错误”是指语法上的错误。*q=0;程序会crash。其他都是合法的赋值语句。(不是相等哦)。

若有定义语句:int a[4][10],*p,*q[4];且0≤i<4,则错误的赋值是

错误的是A a[][]相当于 **a 很显然,p是指针;a是指向指针的指针。两个无法赋值。
1 2 3 4 5 6 7 8 9

相关搜索