A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 张成智 中级黑马   /  2013-5-27 22:18  /  3316 人查看  /  23 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 张成智 于 2013-5-29 22:04 编辑

int a=5;
a++;
Console.WriteLine(a);
a的值为6;
int a=5;
int b=a++ +3;
b的值为8;
此时a++的值为5;
为什么单独的a++和算数表达式里的a++的值不同?

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 赞一个!

查看全部评分

23 个回复

正序浏览
你好,
在本例中,你两次运算 中  并不是  a++ 在表达式中 和 单独的a++  运算结果有什么不同 。
如果你这样写
int a=5;
a++;
int b=a +3;
结果b=9;

结果之所以不同时因为   在表达式运算时a++ 中 取的是a 在自加前的值即为5,5+3=8;

而 本例中d :
int a=5;
a++;//a已经自加了1即为6
Console.WriteLine(a);
a的值为6;
在输出时:a 的值已经自加了1,自然输出时6了

回复 使用道具 举报
a++,先运算再自增加1.int a=5;int b=a++ +3;a先运算加3等于8.所以b为8.int a=5;a++;   单独的a++和++a;没啥区别。有其他运算符时++a为先自增再运算。a++是先运算再自增。
回复 使用道具 举报
袁梦希 发表于 2013-5-30 20:14
答得很好,给你两分

谢谢夸奖了,不过这“给你两分”怎么感觉有微博手哥的感觉。:lol
回复 使用道具 举报
大家加油   以后有事情   或者没加分 给我留言或者看我的个性签名
回复 使用道具 举报
Xi_SHENG: 发表于 2013-5-27 23:14
int a=5;
a++; //后++的意思是先运算后++,首先a=5,然后a+1,所以结果a=6,a++相当于 a = a + 1;
Console ...

答得很好,给你两分
回复 使用道具 举报
关关雎鸠 发表于 2013-5-29 15:39
不同的是 单独的a++并没有参与其它的运算,所以结果是6;
而a = 5; b = a++ + 3;这个是a先与3相加,然后a再 ...

谢谢了。
回复 使用道具 举报
打个比方
a++的值为a,然后a再加1
++a的值是先加1,即它的值为a+1
所以说程序是按照步骤来的,如果是a++的话,在那一行代码中,a的值是不变的,下一行才发生变化,++a则是在那一行已经发生了变化

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
zpzhangwenhan 发表于 2013-5-28 16:23
一种是先加后算   一种是先算后加   应用不同场合

谢谢了。
回复 使用道具 举报
迟强 发表于 2013-5-28 15:55
A++ 先运算再++
++A 先++再运算
A--  --A 同理

谢谢了.
回复 使用道具 举报
蔡志涛 发表于 2013-5-28 15:09
建议你应该好好的学习一下++a 与a++的区别!

谢谢了。
回复 使用道具 举报
sdjngl123 发表于 2013-5-28 11:17
a++是在当前表达式执行完之后才会把值加1
你也可以这么认为,就是当前语句执行到分号(;)后,a的值才进行 ...

谢谢了。
回复 使用道具 举报
葛杨杨 发表于 2013-5-28 05:47

谢谢了。
回复 使用道具 举报
Xi_SHENG: 发表于 2013-5-27 23:14
int a=5;
a++; //后++的意思是先运算后++,首先a=5,然后a+1,所以结果a=6,a++相当于 a = a + 1;
Console ...

明白了,谢谢。
回复 使用道具 举报
SOAR 发表于 2013-5-27 22:56
int a=5;
a++;//先使用a然后在自加
Console.WriteLine(a);//你如果写在这里面的话 那输出的就是5了

谢谢了。
回复 使用道具 举报
qiumanlover 发表于 2013-5-27 22:28
你可以在b之后再输出a的值,这个事运算符优先级问题,头疼的时候就加括号 ...

谢谢,:lol。
回复 使用道具 举报
不同的是 单独的a++并没有参与其它的运算,所以结果是6;
而a = 5; b = a++ + 3;这个是a先与3相加,然后a再自己加1。

注意++在后面表示后运算,如果这样写++a + 3是先算a的,再算 + 3。

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
一种是先加后算   一种是先算后加   应用不同场合

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 鼓励,多来论坛交流

查看全部评分

回复 使用道具 举报
迟强 中级黑马 2013-5-28 15:55:14
8#
A++ 先运算再++
++A 先++再运算
A--  --A 同理

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
建议你应该好好的学习一下++a 与a++的区别!
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马