设变量定义为整型,则表达式n=i=2,++i,i++的值为5

 我来答
金色潜鸟
推荐于2018-03-19 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5693万
展开全部
这同编译器的处理方法有关。

按语法,
int n,i;
printf("%d \n", (n=i=2,++i,i++) );
得 3。

计算顺序:
这是逗号表达式,逗号表达式的结果 用 最右面一个表达式的结果。
(1)n=i=2; n得2,i得2
(2)++i; 前缀加,表达式里要 先增1再使用,i 变 3
(3)i++; 后缀加,表达式里用原值,出了表达式后才增1。所以 i 不变,等于 3。
逗号表达式 的结果 用 最右面一个表达式的结果,也就是 (3)的结果。
所以 答案 是 3,不是 5 。
bettaUU
2013-06-30
知道答主
回答量:4
采纳率:0%
帮助的人:5767
展开全部
这个是逗号表达式(n=i=2,++i,i++)
先计算++i,得到i=3,再计算i++的值也为3,最后输出的是i++的值为3
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式