| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1251 人关注过本帖
标题:c=3;d=!c++; d的值是多少?
只看楼主 加入收藏
yangt
Rank: 2
等 级:论坛游民
帖 子:49
专家分:20
注 册:2012-11-28
结帖率:61.11%
收藏
已结贴  问题点数:10 回复次数:15 
c=3;d=!c++; d的值是多少?
如题,我的理解是先将c取反值为0,然后再自加1,所以d的值是1才对;可是调试一下为0.为什么呢,我的理解哪里错了呢?哥哥!
搜索更多相关主题的帖子: 哥哥 
2014-03-07 22:46
w851777025
Rank: 7Rank: 7Rank: 7
来 自:新疆
等 级:黑侠
威 望:2
帖 子:135
专家分:584
注 册:2014-1-19
收藏
得分:1 
理解没错,c++应该是先使用了c的值在自增的
2014-03-07 23:01
pycansi
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:5
帖 子:418
专家分:1060
注 册:2012-7-26
收藏
得分:1 
C中后缀操作符优先级较高,不过这题是结合性的问题,请自行查找相关资料(就一张表)

建议加括号,清晰


莫问前尘有愧,但求今生无悔
2014-03-07 23:57
ying8501
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:6
帖 子:1092
专家分:1446
注 册:2008-11-24
收藏
得分:1 
   计算完赋值表达式 d=!c++后,c再自加。结果自然是d=0,c=4.
2014-03-08 08:25
ying8501
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:6
帖 子:1092
专家分:1446
注 册:2008-11-24
收藏
得分:0 
赋值语句是表达式语句中的一种。你把它看成表达式语句就很好理解了。
2014-03-08 08:28
bok002121
Rank: 2
等 级:论坛游民
帖 子:90
专家分:26
注 册:2012-11-11
收藏
得分:1 
计算完赋值表达式 d=!c++后,c再自加。结果自然是d=0,c=4.
2014-03-08 08:37
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:1 
友情奉勸一句:再鑽研這種問題,你就死掉一半了。

授人以渔,不授人以鱼。
2014-03-08 09:44
klapset
Rank: 4
等 级:业余侠客
威 望:2
帖 子:71
专家分:234
注 册:2014-2-27
收藏
得分:1 
看下对应的汇编代码
2014-03-09 09:02
造化天运
Rank: 2
等 级:论坛游民
帖 子:28
专家分:31
注 册:2014-2-14
收藏
得分:1 
先用后加
2014-03-09 16:47
zong511
Rank: 1
等 级:新手上路
帖 子:2
专家分:1
注 册:2014-3-10
收藏
得分:1 
c=3;d=!c++

根据优先级,c先取反,取反后为0,关键取反后,是先把c的值(也就是0)赋值给d,然后在c再自加1。所以结果是d=0,c=4.
2014-03-10 14:57
快速回复:c=3;d=!c++; d的值是多少?
数据加载中...
 
   



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

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