*p++和(*p)++的区别是什么

“*p++”和“(*p)++”的区别是:1、“*p++”示取p所指单元的值,p指向下一单元,即p自加1。“*p++”是指下一个地址。2、“(*p)++”是指将*p所指的数据的值加一。

*p++和(*p)++的区别是什么

本教程操作环境:windows7系统、C++17版本、Dell G3电脑。

区别:

1、*p++示取p所指单元的值,p指向下一单元,即p自加1。*p++是指下一个地址。

2、(*p)++是指将*p所指的数据的值加一。

C编译器认为*和++是同优先级操作符,且都是从右至左结合的,所以*p++中的++只作用在p上,和*(p++)意思一样;在(*p)++中,由于()的优先级比*和++都高,所以++作用在()内的表达式*p上。

比如有:

int x,y,a[]={1,2,3,4,5},*p=a,*q=a;

x=*p++;//执行这一句后x=a[0]=1,p=a+1

y=(*q)++;//执行这一句后,y=a[0]+1=2,q仍然=a

扩展资料:

验证程序1

#include"stdio.h"void main(){int a=2;int*p=&a;int*pold;//记录P指向的地址,为了作为比较使用pold=p;//-----------原来的信息printf("原来的a=%d",a);printf("原来的p=%x",p);printf("原来的pold=%x",pold);//----------进行变化printf("*p++的结果=%d,a的结果a=%d",*p++,a);printf("地址变化的结果p-pold=%x",p-pold);}

登录后复制

程序2

#include"stdio.h"void main(){int a=2,*p=&a,*q=&a;printf("%d%d",(*p),a);printf("%d%d%d%d",(*p)++,*p++,*q++,a);printf("%d",a);}

登录后复制

程序3:

#include"stdio.h"void main(){int a=2,*p=&a,*q=&a;printf("%d%d",(*p),a);printf("%d%d%d",*p++,(*p)++,*q++);p=&a;q=&a;printf("%d%d%d%d",a,*p,(*q)++,a);printf("%d%d%d%d",a,++(*p),++(*q),a);printf("%d",a);}

登录后复制

综上所述:

*p++是先取出*p的值,然后让p++

(*p)++是先取出*p的值,让这个值++

*(P++)是先取出*p的值,让p++

所以,*p++等价于*(P++)

而且printf的运行顺序是从右向左运行。而且右++是在整个运算表达式运算完才进行,而且右++的执行顺序是从左到右进行。而左++遇到变量就会立即增加变量的值。

验证printf的运算顺序

#include"stdio.h"void main(){int a=2;printf("a++=%d,++a=%d,a++=%d",a++,++a,a++);printf("a=%d",a);}

登录后复制

推荐教程:《C#》

以上就是*p++和(*p)++的区别是什么的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2431998.html

(0)
上一篇 2025年3月3日 08:53:15
下一篇 2025年3月3日 08:53:34

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 桃胶泡4个小时够吗

    桃胶是生活中比较常见的一种保健食品,它的吃法比较多,但是一般都是要提前泡发的。桃胶如果用冷水泡发4小时,一般是不能煮的,如果热水泡发,4小时是可以泡发好的。 桃胶泡4个小时够吗 冷水泡4小时不能完全泡发,热水泡发4个小时可以泡发。 如果是用…

    2025年4月4日
    369.5K00
  • 桃胶泡了24小时还能吃吗

    桃胶是生活中很常见的一种食物,它可以起到很好的保健养生效果,很多人都会在家做桃胶吃。桃胶一般都要提前泡发的,大多泡十几个小时就可以了,如果泡了二十四个小时,没有变质还是可以吃的。 桃胶泡了24小时还能吃吗 一般还能吃。 一般正常干的桃胶泡发…

    2025年4月4日
    872.0K00
  • p是什么元素

    p是什么元素? p是终端块状元素 ,这类元素用于从结构转向内容,它们拥有语义上的含义,能够表明内容的性质。终端块状元素属于结构的终点,它们不能再包含其他块级元素,只能包含文本或行级元素。  终端块状元素     * …     …

    2025年3月12日
    200
  • css p什么意思

    css中的p指的是HTML 标签,标签用于定义段落;p元素会自动在其前后创建一些空白,并且浏览器会自动添加这些空间,我们也可以在样式表中规定。 本文操作环境:windows7系统、CSS3版、Dell G3电脑。 css p什么意思? cs…

    2025年3月11日
    200
  • jquery 怎么将p改值

    jquery将p改值的方法:1、新建一个html文件,并使用p元素创建一行文字;2、创建一个button按钮并绑定onclick点击事件;3、使用text()方法获得p标签的内容;4、使用text()方法给p标签重新赋值即可。 本文操作环境…

    2025年3月11日 编程技术
    200
  • html<p>标签是什么元素?关于html p标签的定义和作用详解

    本篇文章向大家主要的介绍了关于html 段落p标签的一些基础的东西,初学者可以来看看,想学更深一点的,欢迎进来点击文章下方关于html段落p标签的进阶版,好了,本文介绍了关于html 段落p标签的基础认识,希望大家认真的阅读,已经尽可能的说…

    编程技术 2025年3月9日
    200
  • html P标签为什么不能嵌套div?还有关于html P标签的css样式的实例介绍

    本篇文章介绍了有关于html p标签的进阶版,上一篇基础版没看过的同学点击下方的链接就可以看了,本篇主要介绍了html p标签的两个重要知识点,一个是如何用css的样式来控制p标签的具体使用,每个都有实例,有兴趣的同学可以自己敲代码试试,还…

    2025年3月9日
    200
  • html p标签能包含a标签吗?html p标签的作用说明

    本篇文章主要的为大家介绍了关于html p标签的的作用, 标签中能包含标签的解释,还有主要就是关于html p标签的作用的解释,现在让我们一起来看看这篇文章吧 首先我们先说说p标签中能包含a标签吗? 我们先看看 标签是块级元素,会独占一行其…

    2025年3月9日
    200
  • html p标签怎么换行?html p标签添加br换行标签的应用

    本篇文章主要的为大家介绍关于html p标签的应用方法和实例,还有关于html br换行标签的介绍。好了,现在让我们一起来看看篇文章吧 首先呢,我们先看看HTML p标签是怎么换行的: 在这里给大家介绍个好朋友标签,我记得有句话叫:如果有地…

    2025年3月9日
    200
  • html p标签是单标签吗?html p标签的使用方法介绍(内附实例)

    本篇文章主要的介绍了关于html中的p标签的具体使用方法和一些作用,内有实例解说,接下来就让我们一起看看这篇关于html p标签的文章吧 首先我们看看html p标签是单标签吗? 听这个问题就知道是没怎么用html,或者都没听过的小白,因为…

    2025年3月9日
    200

发表回复

登录后才能评论