“*(p++)”和“*(++p)”有什么区别 ? 我来答 2个回答 #热议# 普通体检能查出癌症吗? 呆呆老衲已成仙 2023-04-29 · TA获得超过142个赞 知道大有可为答主 回答量:4689 采纳率:99% 帮助的人:195万 我也去答题访问个人页 关注 展开全部 *(p++)和*(++p)是两个不同的表达式,它们的区别在于它们对指针的操作次序不同。*(p++)表示先取出指针p所指向的内容,再将p向后移动一位。换句话说,这个表达式的操作顺序是:取值 -> 移动指针。例如,下面的代码将打印出数组a中的前五个元素:输出结果为:*(++p)表示先将指针p向后移动一位,再取出指针所指向的内容。换句话说,这个表达式的操作顺序是:移动指针 -> 取值。例如,下面的代码将从数组a的第二个元素开始打印出所有元素:输出结果为:需要注意的是,*(p++)和*(++p)虽然在操作顺序上不同,但是它们都会移动指针p,因此需要谨慎使用,以免出现意想不到的错误。 已赞过 已踩过< 你对这个回答的评价是? 评论 收起 刺任芹O 2022-11-16 · TA获得超过6.2万个赞 知道顶级答主 回答量:38.7万 采纳率:99% 帮助的人:9104万 我也去答题访问个人页 关注 展开全部 *(p++) -------- 先访问指针p所指存储单元,之后指针p后移一位。*(++p) -------- 指针p先后移一位,之后访问指针p所指存储单元。由此可见,*(p++)的输出结果=*p*(++p)的输出结果=*(p+1)例如:如果 char p[4]="123";*(p++) = '1';*(++p)= '2';这个++的前置和后置的区别++p前置表示先自增后在返回值给变量p++后置表示先返回值给变量再自增int a =1;b = ++a; 相当于 a = a+1; b=a; 所以b=2b = a++; 相当于 b = a ; a = a+1; 所以 b=1 已赞过 已踩过< 你对这个回答的评价是? 评论 收起 推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询 广告您可能关注的内容p卡_数字酋长 eBay-Wish亚马狲_选品_刊登_ERP数字酋长是一款卖家提高eBay-Wish亚马狲效率的软件,支持选品调研,批量上架,客服消息,订单管理,提高销量,数字酋长更具性价比www.datacaciques.com广告p卡的用户都在用_数字酋长_选品+刊登+ERP数字酋长是一款ebay-Wish亚马狲速买通等多家平台官方认证的数据分析与ERP软件服务商,想提高销量,用数字酋长更优惠!www.datacaciques.com广告 为你推荐: