标题:a++与a++的问题?
只看楼主
现龙
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2010-3-28
结帖率:80%
已结贴  问题点数:5 回复次数:11 
a++与a++的问题?
有程序段
int a=0;
switch(a+1)
{ case 1: a++ ;
  case 2: ++a; break;
  default: a=a+1;
}
运行该段程序后a的值是

请问这里的a是怎样变化的,最好详细说明一下,谢谢各位!
搜索更多相关主题的帖子: default 最好 
2010-05-04 10:49
现龙
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2010-3-28
得分:0 
来人啊,请教,请教!!!!
2010-05-04 11:46
hzz063
Rank: 3Rank: 3
来 自:横县百合
等 级:论坛游侠
帖 子:80
专家分:114
注 册:2010-1-27
得分:2 
表达式(a+1)得 1,所以从 case 1: a++ ;开始,这句完 a = 1,由于这里没有break;
所以到下一句case 2: ++a; break; 这句完 a = 2,这里有break;了,跳出整个switch语句。
最后 a=2


一切只因为喜欢。
2010-05-04 12:00
BINGQING
Rank: 2
来 自:武汉
等 级:论坛游民
帖 子:98
专家分:75
注 册:2010-3-29
得分:0 
同意二楼的看法
2010-05-04 12:11
南国利剑
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:29
帖 子:1165
专家分:3536
注 册:2010-4-12
得分:1 
a的值是2。
从case1开始执行直到break才跳出。

南国利剑
2010-05-04 12:26
炫舞小子
该用户已被删除
得分:1 
提示: 作者被禁止或删除 内容自动屏蔽
2010-05-04 13:04
现龙
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2010-3-28
得分:0 
为什么a++这句没有使a由1变成2啊?
2010-05-04 15:48
现龙
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2010-3-28
得分:0 
回复 3楼 hzz063
为什么a++这句没有使a由1变成2啊?
2010-05-04 16:12
qbear
Rank: 2
等 级:论坛游民
帖 子:9
专家分:17
注 册:2010-4-7
得分:0 
回复 楼主 现龙
程序运行结果,a的值确实是2,不过我也不明白,a++为什么没有把a的值变成2?
有高手解答下吗?
2010-05-04 19:44
qbear
Rank: 2
等 级:论坛游民
帖 子:9
专家分:17
注 册:2010-4-7
得分:1 
回复 楼主 现龙
不好意思  明白了
a 初值为0   a++变1   ++a变2,a+1没有赋给a,没有问题,我傻了。。。。。
2010-05-04 19:47



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-305295-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.309259 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved