中易网

a[i]=*p++

答案:5  悬赏:50  
解决时间 2021-01-16 00:48
  • 提问者网友:兔牙战士
  • 2021-01-15 11:45
a[i]=*p++
最佳答案
  • 二级知识专家网友:长青诗
  • 2021-01-15 12:45
这不是c++是标准的c 没看到main 前面没有void吗
后两位更有意思。。。
你俩说的都没错 其实
*p++ 等价于 *(p++) 也等价于 *p; p = p + 1;
就是这样了 3个表达式你们都给写出来了 呵呵 。。。

这题的意思就是把a[]赋值给a[]...在打印出a[]。。。
没有什么意思啊。。。
结果就是 6
全部回答
  • 1楼网友:上分大魔王
  • 2021-01-15 15:37
1:* 和 ++ 具有相等的优先级别,但是在运算时它是从右向左顺序进行的。即,在 *p++中,++ 应用于p而不是应用于*p,实现的是指针自增1,而非数据自增1
2:p++ 是后自增,在到达下一个顺序点之前会生效,因此*p++可以理解为2个操作,先是*pa,再是p++
3:总体就是将p指向的值赋予a数组的第i+1个元素,p地址自增
  • 2楼网友:雪起风沙痕
  • 2021-01-15 15:24
实际上就是*(p++),先取出p的值,也就是一个地址,然后*p,这样叫就得到了p所指的值,然后在执行p++,把刚才p所指地址的值+1。
  • 3楼网友:动情书生
  • 2021-01-15 14:47
还久没看C++了
我记得好象是指a[i]的地址随着p递加,p没运行依次增加一次
也就是说a所指向的是一个变化的指针地址,应该是负值
  • 4楼网友:醉吻情书
  • 2021-01-15 13:19
*p++ != *(p++)
*p++; 的等价写法是 *p; p = p + 1;
p是指针, 指向a的第一个元素的地址, *p是这个地址上存的数值
p+1 或 p++ 是指针向后移动, 指向下一个元素的存储空间
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息