网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
成为超级会员,使用一键签到
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
10月21日
漏签
0
天
c语言吧
关注:
795,991
贴子:
4,327,669
看贴
图片
吧主推荐
视频
游戏
1
2
下一页
尾页
38
回复贴,共
2
页
,跳到
页
确定
<<返回c语言吧
>0< 加载中...
变量自加自减
只看楼主
收藏
回复
tbzp666
异能力者
6
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
i=3
j=(++i)+(++i)+(++i)运行后
j的结果与编译器、计算机的位数有关?
j的结果为18
但编译器运行结果为16
六翼幻世
帕秋莉糕
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
别整这种未定义行为的表达式了,一个表达式里不能出现多次修改同一个变量的写法,否则就是未定义行为,全看编译器怎么执行
每个括号执行后记录结果再去计算下一个括号内的++i,这时候就是4+5+6=15
所有括号的++i的++先执行完,再取统一的i相加,那么就是6+6+6=18
至于你说的16,我懒得想,说到底还是执行顺序的问题,未定义行为的执行顺序全看编译器
云踩着黄昏
小吧主
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
8
XeO2
马猴烧酒
14
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
与谭浩强(划掉)编译器的心情有关
GTA小鸡
吧主
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
cdx4838
毛蛋
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
别整天纠结这种东西了,我的项目组里谁要是写这种玩意儿,要么他走要么我走
醴曩
麻婆豆腐
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
一个表达式中出现两次的变量不要做++,--运算
洪水证人
超能力者
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
如果是你自己瞎琢磨,那就牢牢记住:会被改变值的变量,如果出现不止一次,那么这个表达式的结果就是未定义的(只有逻辑运算&&、||、?:和逗号例外,可视为前后不相关的多个表达式)。
以后别琢磨这个了。如果哪个老师拿这个考你,还振振有词说答案应该是多少,那就扇他。
ordpus
毛蛋
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
别用谭语言
运球帝
毛蛋
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
这叫未定义行为
未定义行为就是c语言标准里没规定该怎么做的情况
对未定义行为,编译器给出任何匪夷所思的结果比如114514或者死机重启都是合理的
Noelle1831
毛蛋
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
你写C语言是为了解决问题,不是为了创造问题
Mirion
毛蛋
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
ub
蝎尾狮
路人
2
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
这种东西建议直接背答案
正常写代码只要脑子没问题的人都不会这么写
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示