学好编程! 2022-01-14 16:51 采纳率: 96.8%
浏览 29
已结题

(*++p)=2 (*p)++ 什么意思呢 怎么使用

#include<stdio.h>
void main()
{
int a[5]=(1,3,5,7,9),p=a;
(
++p)=2;
(*p)++;

printf("%d,%d", a[0]+a[1],*p);
}
结果4,3

  • 写回答

3条回答 默认 最新

  • Code_流苏 C/C++领域优质创作者 2022-01-14 17:04
    关注

    int a[5]={1,3,5,7,9},*p=a;
    这一句就相当于
    int a[5];
    a[5]={1,3,5,7,9};
    int *p;
    p = a;//p指向数组a的首地址 a[0]处
    然后++p=2; ++p之后,p指向a[1]处
    所以a[1] = 2;
    (*p)++;就相当于 a[1]++; 该句结束后
    a[1]=3
    a[0]+a[1]=4, *p 取的是 a[1]的值 为3
    因此输出为 4,3
    希望对题主有所帮助,望采纳!!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 1月23日
  • 已采纳回答 1月15日
  • 创建了问题 1月14日

悬赏问题

  • ¥60 ESP32怎么烧录自启动程序
  • ¥50 html2canvas超出滚动条不显示
  • ¥15 java业务性能问题求解(sql,业务设计相关)
  • ¥15 52810 尾椎c三个a 写蓝牙地址
  • ¥15 elmos524.33 eeprom的读写问题
  • ¥15 使用Java milo连接Kepserver服务端报错?
  • ¥15 用ADS设计一款的射频功率放大器
  • ¥15 怎么求交点连线的理论解?
  • ¥20 软件开发方法学习来了
  • ¥15 微信小程序商城如何实现多商户收款 平台分润抽成