社区
C#
帖子详情
为什么 i 仍旧是 5 ,已经 ++ 了 呀
iamsea11
2003-08-20 10:57:32
int i=5;
int i=i++;
Console.WriteLine((i);
i++ 后 应该 i =6
...全文
91
10
打赏
收藏
为什么 i 仍旧是 5 ,已经 ++ 了 呀
int i=5; int i=i++; Console.WriteLine((i); i++ 后 应该 i =6
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
AI魔法探索家|陈工聊AI
2003-08-20
打赏
举报
回复
i=i++;
first do i++
then i is 6
but i=i++ is to give the original i to i
that is 5
01101230
2003-08-20
打赏
举报
回复
反汇编的情况:
int i=5;
0000007c mov esi,5
i=i++;
00000081 mov ebx,esi
00000083 inc esi
00000084 mov esi,ebx
System.Console.WriteLine(i);
00000086 mov ecx,esi
可以看到实际上i原来的值被放到ebx里保存起来了。然后执行了i++;此时i=6;最后执行
mov esi,ebx 才最后把保存起来的值(5)又还原给等号左边的的变量(i)所以i=5
snla
2003-08-20
打赏
举报
回复
改为++i
panyee
2003-08-20
打赏
举报
回复
int j = i++; //这时肯定是5
如果
i++;//先自加
int j = i;//这时才是6
jiezhi
2003-08-20
打赏
举报
回复
++在前則先加,再使用﹔++在后,則先使用再加
jiezhi
2003-08-20
打赏
举报
回复
++在前則先加,再使用﹔++在后,則先使用再加
csdn_bob
2003-08-20
打赏
举报
回复
i=i++;
这一句相当于
i=i+1;
i=5;
因为它是先取得i=5,然后i自加=6,然后将取出的5给i!
BeyondLove2000
2003-08-20
打赏
举报
回复
首先,不能再定义int型的i;
其次,i++; 即可不必i=i++; =比++有限级高,赋值后才++的,所以值不变。
rouser
2003-08-20
打赏
举报
回复
為什麼會出現兩次定義?
vikey
2003-08-20
打赏
举报
回复
同意 panyee(快乐王子)
01101230(叶开)用的反汇编,呵呵
a
++
与
++
a能否作为左值
本文详细解析了左值和右值的概念,解释了它们在编程中的应用,并通过实例对比了a
++
和
++
a的不同之处,说明了为什么
++
i=5有效而i
++
=5无效。
【C
++
】i
++
=5编译报错,i
++
不能作为左值的原因
本文深入探讨了左值与右值的概念,解释了为什么i
++
不能作为左值使用,而
++
i则可以。通过具体的代码示例,帮助读者理解左值与右值的区别及其在C
++
中的应用。
详解int i =
++
i+i
++
本文通过分析字节码,详细解释了Java中前置递增`
++
i`与后置递增`i
++
`的实现原理。通过示例代码`int i = 1; i =
++
i + i
++
;`,展示了它们在执行过程中的区别,并最终得出i的值为4。了解这些细节有助于深入理解Java的内存模型和运算符的执行顺序。
i
++
和
++
i的真正区别
本文深入探讨了Java中i
++
与
++
i运算符的工作机制,并通过代码模拟及JVM汇编指令解析揭示了两者在执行过程中的差异。
一看就懂的i
++
和
++
i详解
本文详细解析了Java中的i
++
和
++
i的区别,通过实例代码和字节码分析强调了它们的执行顺序。同时,介绍了表达式计算的原则,帮助读者深入理解这两个操作符的用法,并提醒在实际开发中虽然不常用,但在笔试中掌握这些知识能为面试加分。
C#
111,131
社区成员
642,542
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章