若已定义:int a[]={1,2,3},*p=a;则执行*p++=5;(*p)++;后a[0],a[1],a[2]的值
答案:1 悬赏:70 手机版
解决时间 2021-08-14 08:42
- 提问者网友:且恨且铭记
- 2021-08-14 00:31
若已定义:int a[]={1,2,3},*p=a;则执行*p++=5;(*p)++;后a[0],a[1],a[2]的值依次是().
最佳答案
- 五星知识达人网友:一秋
- 2021-08-14 01:37
#include
void main()
{
int a[]={1,2,3};
int *p;
p=a;
*p++=5;
(*p)++;
printf(%d%d%d,a[0],a[1],a[2]);
}
5 3 3
*、++、--等单目运算符都是右结合,也就是说*p++相当于*(p++),即先把5赋值给*p(a[0],a[0]=5),再把p指向a[1](p=&a[1]),然后(*p)++就相当于(a[1]++,即a[1=3]),最后依次输出a[0]、a[1]、a[2]当然是5 3 3了.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯