为您找到"

...5】={1,2,3}; int *p; p=a; while (p) { printf("%d",*(p++...

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

C++的问题:int a[5]={1,2,,4,5};int *p=&a[0];表达式*p+(*(a+2))

p指向数组第一个元素a[0].所以*p就是a[0],为1.a+2 就是指向a[2],所以*(a+2)就是a[2],为0.所以*p+(*(a+2)) 结果为1.

...{ int j,a[]={1,3,5,7,9,11,13,15},*p=a+5; for(j=3;j;j...

p= a+5 即 p 指向 a[5]= 11;第一次: j=3 执行 case 3:printf("%d",*(--p));--p, 即p 指向 a[4]= 9;第二次: j=2 执行case 2:printf("%d",*p++); break;因为++在右边,故执行完好值才改变,现在还是指向a[4]=9;输出后 p 指向 a[5]= 11 第三次:j=1,因为...

c语言 int a[]={1,2,3,4,5,6,7,8,9,10},*p=a,则值为3的是

答案A.数组定义是a[0]=1,a[1]=2,a[2]=3, ...,a[9]=10 A. p += 2使p指向a[2], *(p++)表示先取*p的值, 然后p增加1(指向a[3]), 所以取得的值是a[2]=3 B. p += 2使p指向a[2], *++p表示先p增加1(指向a[3]),然后取*p的值,所以是a[3]=4 C. p += 3使p...

C语言中 *(p++) p++ *p++ ++*p (*p)++ 分别是什么意思

先去指针p指向的值(数组第一个元素1),再将该值自增1(数组第一个元素变为2++p 先将指针p自增1(此时指向数组第二个元素),* 操作再取出该值++*p 先取指针p指向的值(数组第一个元素1),再将该值自增1(数组第一个元素变为2)include<stdio.h>int main(){int a[2]={1,...

main() { int a[]={8,2,9,4,1},*p; p=a; *(p+2)+=2; printf("%d %d...

include <stdio.h> void main(){ int a[]={8,2,9,4,1},*p;p=a;(p+2)+=2;printf("%d %d",*p,*(p+2));} 输出的结果是8 11这两个数。首先你要知道指针的含义,和数组中数组名的作用。第一:你定义了一个指针p,并且把a的值赋予给p,这就相当于把一维数组a[5]的首地址赋予...

#include〈stadio.h〉 main(){ int a[12]={1,2,3,4,5

不能使用中文标点。改正标点后,程序已经运行通过,运行答案是12。include<stdio.h> /*这里原来多了一个a*/ main(){int a[12]={1,2,3,4,5,6,7,8,9,10,11,12},*p[4],i;for (i=0;i<4;i++)p[i]=&a[i*3];printf("%d\n",p[3][2]);} p[3]是...

问:打印结果是什么?p=(int*)(&a+1)是不是等价于*p=a[1]?

打印结果分别是:2, 1p=(int*)(&a+1)等价于*p=&a[1];注意p是指针,指向的地址,故要取a[1]的地址,前面加个取地址符&运行结果是:2,5include <stdio.h>int main(){int a[5]={1,2,3,4,5};int *p;p=(int *)(&a+1);printf("%d,%d\n",*(a+1),*(p-1));return 0;...

main() { int a[10]={1,2,3,4,5,6,7,8,9,10}, *p=a; printf(〃%d\n...

(p+2)就是先把P指向的地址后移两个单位,P初始化指向a数组首地址,后移两个单位后即 a[2]= 3 ;答案

int a[][4]={1,2,3,4,5,6,7,8,9,10} *p=*(a+1) 则值为

选择 Bint a[][4] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};相当于int a[][4] = { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 0, 0}};而 int * p = *(a + 1);表明 p 此时指向 5 所以要想输出9, p 需要 += 4;剩下就是 * 和 ++ 优先级的...
1 2 3 4 5 6 7 8 9

相关搜索