C语言高手们谁能帮忙讲解一下这个题

来源:百度知道 编辑:UC知道 时间:2024/05/15 08:21:35
main()
{ int a[]={1,2,3,4,5,6};
int *p;
p=a;
printf("%d",*p);
printf("%d\n",*(++p));
printf("%d",*++p);
printf("%d\n",*(p--));
p+=3;
printf("%d %d\n",*p,*(a+3));
getch();
}
答案是:12
33
5 4
什么意思呀

main()
{ int a[]={1,2,3,4,5,6}; //定义一个整型数组,并对其进行初使化。

int *p; //定义一个INT类型的指针变量

p=a; //p指向a数组的第一个元素

printf("%d",*p);//输出p所指向的值(即数组a的第一个元素1)

printf("%d\n",*(++p));//p值增1,指向数组a的下一个元素a[1],并输出这个元素值,之后换行

printf("%d",*++p);//p值增1,指向数组a的下一个元素a[2],并输出这个元素值

printf("%d\n",*(p--));//输出p现在指向的元素值a[2]并换行,之后,p值减一,指向上一个元素a[1]

p+=3;//p值增3,指向a[4]

printf("%d %d\n",*p,*(a+3));//输出p现在指向的元素值a[4],再输出a[3],之后换行

getch();//等待输入,起暂停作用
}

你们俩都很有意思

题目 匿名鸟?

不是的吧,液晶只能调到75,纯屏85,再高就看不到了,屏幕黑掉。

main()
{ int a[]={1,2,3,4,5,6};
int *p;

p=a; //把a[0]的地址传递给 p;

printf("%d",*p); //这里输出的是 a[0];

printf("%d\n",*(++p)); // 这里先 p=p+1。然后再输出 ,输出的a[1];

printf("%d",*++p);//这里输出的是a[2]。因为 p是先p=p+1之后再输出的。。

printf("%d\n",*(p--)