i++,++i的困扰

卫衣 / 双肩包 / T 恤/羽绒服等任选,下单送 CSDN 年卡 程序员周边任选一款实物,直接赠送 CSDN 会员年卡+ Coding Plan,写代码学习装备一起拿下 立即抢购

 

main()

{

  int i=5,j=5,p,q;

  p=(i++)+(i++)+(i++);

  q=(++j)+(++j)+(++j);

  Response.Write(i,j,p,q);

}

 

  结果

i=8

j=8

p=5+6+7=18

q=6+7+8=21

 

 

i++  是i先参与运算,再自增1。

++i  是i先自增1,再参与运算。

 

 

i++++i的运算规则 1.  我们都知道自增运算符和自减运算符,如:i++++i,i-- 和 i--。可能你会觉得这很简单,不就是 i+1、i-1吗?但是你真的深入的了解过吗? 这里我要提到非常重要的一点,关于 i++++i 的区别。i++是先使用 i 的值,再进行 i+1。而++i 是先进行 i+1,再使用 i 的值。这是它们的本质区别!   2. 关于这里运算符优先级。首先自增、自减的优先级高,先进... 阅读详情

相关推荐

C语言关于p=(i++)+(i++)+(i++)=18,q=(++j)+(++j)+(++j)=22的问题,不同编译器运算不一样,我用的编译器是Code::Blocks 17.12,新人驾到,多多指教

**#include <stdio.h> #include <stdlib.h> void main() { int i=5,j=5,p,q; p=(i++)+(i++)+(i++); q=(++j)+(++j)+(++j); printf("%d,%d,%d,%d",p,q,i,j); } 这个问题确实坑,我以前感觉不是很重要,现在突然发神经搞清楚规律了。 我运算结果如下...

qq_42576424的博客 6425

java中i++++i的深层理解

首先看一个java程序的运算结果(相信很多人会大跌眼镜): 是不是很多认人都以为结果应该是:i=4。那就说明你对i++的底层运算原理不理解,接下来就让我为你揭开i++运算的真相。 原理解释: i=i++这个算式在java底层运算时当然是先运算等式的右边“i++”,这个“i++”的在底层运算时是大有文章的。“i++”运算时因为i要完成一个自身加一再把结果赋给自身的过程,所以在i加一之前

博客写得好,技术好,才是真的好 878

深入理解i++++i以及赋值操作符原理

litao11046的专栏 1278

(++i)+(++i)+(++i)和(i++)+(i++)+(i++)问题解答

问题: int i=5,j=5; p=(i++)+(i++)+(i++); q=(++j)+(++j)+(++j); 输出p和q的结果为多少? 解答: 首先,要明白几个知识点: 1) i++计算步骤是: 第一步:(i++这个运算符结果)=i;(重点:返回的是一个临时对象) 第二步:i=i+1; ++i计算步骤是: 第一步:i=i+1; 第二步:(++i这个运算符结果)=&i;(重点:返回的是对i的引用) 2) 在计算(i++)+(i++)+(i++)和(++j)+(++j)+(++j)过程中,实际的

恩泽君的博客 7997

i++++i

i++++1 概述:i++++i 这个问题困扰了我很长时间,在这段时间里自己不止一次的怀疑自己的智商,难道自己对编程一点天赋都没有吗?此问题严重打击了我的自信心.......也曾苦苦暗自琢磨,也曾百度谷歌疯狂搜索,得到答案都是一样的:“i++是先赋值,后运算;而++1是先运算,后赋值”,谁给谁赋值?谁和谁运算?越看越蒙。直到今天,终于在一位老师的点拨下搞明白了。我们要从两个不同的角度等待这个问...

weixin_34304013的博客 2982

关于i++++i问题

---------------------- android培训、java培训、期待与您交流!-------------------- 有这么一道问题,困扰了很久时间,相信初学者也有同样的经历, public static void main(String[] args) { int j=0; for (int  i = 0;i { j=j++ } system.out.pr

编程改变命运 568

关于m++++m的那些事

相信很多小伙伴们都被m++++m整蒙过,到底什么时候+1啊,当然这个问题也困扰过小编。今天小编就带领大家看看他的真面目! 咱们先来看个代码,小试牛刀一下: public class FristSample{ public static void main(String[] args){ int a = 0; for(a++ > 0){ System.out.println(a + "###");

JYYabc的博客 5024

C语言指针操作(二)通过指针引用数组

C语言指针操作(二)通过指针引用数组

醉蕤的博客 2993

洛谷p1567c++题解

利用数组计数器思想a掉p1567

2301_79116138的博客 449

改善Java程序的建议(每日5条)2

目录 建议一:不要再常量和变量中出现易混淆的字母 建议二:莫让常量蜕变成变量 建议三:三元操作符的类型务必一直 建议四:避免带有变长参数的方法重载 建议五:别让null值和空值威胁到变长方法 建议六:覆写变长方法要遵循规矩 建议七:警惕自增带来的陷阱 建议八:不要被旧语法困扰 建议九:少用静态导入 建议十:不要再本类中覆盖静态导入的变量和方法 建议一:不要再常量和变量中出现易混淆的字母 建议二...

lxn1214的博客 257

C++学习总结(一)

C++学习总结入门 学习资源:https://www.bilibili.com/video/BV1QE41147RT?p=1 入门 C++程序开发过程 1 算法设计 2源程序编辑 3编译 4连接 5运行调试 重视文档,程序=代码+文档 C++支持面向对象的观点和方法。面向对象把客观事物看作对象,对象间通过消息传送 面向对象的基本概念: 封装:隐蔽细节,对外形成边界,只保留有限的对外接口,使用方便、安全。 继承:改造、扩展已有类 多态:同样的信息作用在不同对象上有可能引起不同的效果。 代码的运行过程: 高级语

qq_45878378的博客 1221

C++(一)——HelloWorld

C++(一)——HelloWorld

iaiti的专栏 2万+

i++++i和i+=1、i=i+1 的问题

i++++i和i+=1、i=i+1 等这类问题是也笔试必考内容之一,基础中的基础。如果不会,那就已经可以看出你个人的基础水平了。虽然看上去简单,但是不懂原理是不行的。只有了解原理才能记忆最深 i++++i 的区别: i++:先赋值,在相加, ++i:先相加,在赋值 废话不多说直接上代码,实践才是检验真理的唯一标准。 public class Test { public static...

又听凌晨的钟声 2万+

C#占位符和格式化字符串

static void Main()           {                   string c=Console.ReadLine();                   string d=Console.ReadLine();                  Console.WriteLine(c+","+d);    //用“+”连接符         }那么你说这样写很容易写错,很麻烦,C#还提供另一种书写方式,就是占位符,用{ }来表示,在{ }内填写所占的位的序号,C#规定从

学无止境! 3万+

关于(object sender, EventArgs e)

在日常开发中,大多数控件都需要写触发函数,而触发函数中的两个参数 sender 和 e 的作用,就不容小视。看下面的例子:在上面的程序中设计了三个Button控件,他们点击后触发的函数都为Button_OnClick;那么我如何分辨出到底是哪一个Button进行了点击呢,就要用到触发函数中的参数来判断。 protected void Button_OnClick(objec

学无止境! 1万+

HyperLink控件动态绑定超链接

今天用HyperLink控件想动态绑定超链接 NavigateUrl="News.aspx?id=" Text='点击后就是无法解析出来绑定的字段,郁闷。并且NavigateUrl应该用'后来才知道这样绑定无法解析。你可以修改如下:方法一: 方法二:

学无止境! 6027

MSDN,安装程序检测到的HTML帮助数据文件已损坏,无法继续。单击确定以关闭安装程序

<br /><br />1).Help 9 的 Documentation Explorer 2008 破损了,到“控制面板”中去修复一下 Documentation Explorer 2008 即可。<br />(无效的时候试第二个)<br /> <br /><br />2).nslist.hxl 损坏导致 MSDN for Visual Studio 2008 安装失败的解决方案。<br />在 NSList.hxl 文件已损坏时会出现此错误。 NSList.hxl 文件是使用许多 Microsoft

学无止境! 5586

基于Fileupload控件的FTP上传

类库: string filename = chdFtp.UniqueName(FileUpload1.FileName); chdFtp one = new chdFtp(filename, FileUpload1.PostedFile.InputStream); //Fileupload的文件PostedFile的返回流InputStream bool ftpUpdateFlag = one.UploadVideo(); 调用页面:先放一个File

学无止境! 4217

JWPlyaer配置

当需要在网站上播放音频或者视频的时候,就用开源的Jwplayer。(FLV, MP4, MP3, AAC, JPG, PNG and GIF)下载地址  最新jwplayer 5.5下载解压后,主要用到的文件有2个,jwplayer.js和player.swf。另外一个swfob

学无止境! 3920
上一篇: SQL注入与JS攻击防范
下一篇: C#占位符和格式化字符串
mark4ever
博客等级 码龄17年 31粉丝 63原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值