首页 > 其他分享 >C中++a和--a什么区别?

C中++a和--a什么区别?

时间:2022-11-13 09:11:42浏览次数:30  
标签:区别 ++ 运算符 -- int 对象 表达式

int a=1;

++a和a++什么区别呢?相同点,最后a都会增加1,区别是表达式的值不一样。

这两个都是表达式,a++表达式的值是一个左值,表示对象。先对a对象进行+1,再返回对象a。所以++++a可以正常执行,先执行最靠近a的++运算符:a=a+1,返回a,然后再执行一遍++a操作,再返回a,表达式的结果还是一个左值。

a++表达式的值是一个右值,表示数值。相当于a++表达式的值是1,不再是对象a。返回1以后,再对a对象进行+1。因为a++表达式的结果是1 ,多以无法再对1执行++和--操作了。所以++a++,或者a++++都是错误的。

不过有些运算符,可以用于右值表达式,譬如用于指针的间接访问运算符 * 号

你可以直接这样写  int a=*(int*)1;  (int*)1直接是一个指针常量值。当然直接这样写毫无意义,只是为了说明这样的方式,是符合语法的。

 

标签:区别,++,运算符,--,int,对象,表达式
From: https://www.cnblogs.com/fuyun2000/p/16885396.html

相关文章

  • UMF高并发
    cmake_minimum_required(VERSION3.0.0)project(hashVERSION0.1.0)MESSAGE(${PROJECT_SOURCE_DIR})SET(APP_SRC${PROJECT_SOURCE_DIR}/main.cpp${PROJ......
  • ASP.NET Core教程-Configuration(配置)-配置Kestrel服务器
    更新记录转载请注明出处:2022年11月13日发布。2022年11月12日从笔记迁移到博客。配置Kestrel服务器ConfigureKestrel方法则能够用来配置Kestrel服务器通过Kestrel......
  • 11.13分享
    雷雨心《记·念》时间一转眼就过去了三年,一切在我心里开的好皎洁现在倒计时也不剩几天,脚边的纸片,来不及去捡仿佛是快要冲破压力的茧,离校后大家又各自熬夜早上......
  • 篇(9)-Asp.Net Core入门实战-在页面中增加下拉框、复选框功能的增加和修改
    入门实战-在页面中增加下拉框、复选框功能的增加和修改一个标准的表单应用页面(视图),有很多元素,文本框只是有的多一些,还有复选框,下拉框,单选钮等各种元素,本节我将讲述使用asp......
  • IP核之MMCM/PLL实验
    1)实验平台:正点原子达芬奇FPGA开发板2)摘自【正点原子】达芬奇之FPGA开发指南3)购买链接:https://detail.tmall.com/item.htm?id=6243354965054)全套实验源码+手册+视频下......
  • OpenGL ES EAGLContext 和 EGLContext
    目录一.前言1.OpenGL2.OpenGLES3.平台差异二.EAGLContext和EGLContext简介1.EGLContext2.EAGLContext三.EGL绘制流程简介四.EAGL绘制五.猜你喜......
  • 学习笔记-java代码审计-xxe
    java代码审计-xxe0x00漏洞挖掘java解析xml的方法有多种,比较常见的有四种:DOM、DOM4J、JDOM和SAX。//1.DocumentBuilder原生、可回显importjavax.xml.parsers.Docum......
  • 学习笔记-java代码审计-xss
    java代码审计-xss0x01漏洞挖掘protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsIOException,ServletException{respon......
  • 学习笔记-java代码审计-sqli
    Java代码审计-sqli0x01漏洞挖掘jdbc在上古时期,人们往往这么从数据库获取数据。publicUsergetUserById(Stringid)throwsSQLException{Connectionconnectio......
  • 学习笔记-java代码审计-ssrf
    java代码审计-ssrf0x01漏洞挖掘java发送http请求的方式还是比较多的,下面是原生的:Stringurl=request.getParameter("url");URLu=newURL(url);//1.URL,直接打开......