3个回答
展开全部
15
由于编译器从右向左扫描程序分析,是从右向左执行的,如果你学过编译原理,你就知道了。
下面分析如下,值得注意的是i++,i的值加1,而表达式的值不变.++i,表达式和i都加1
详细分析如下
// i=3 执行i++后 i++ 值3 i值4
// i=4 执行++i后 ++i 值5 i值5
// i=5 执行++i后 ++i 值6 i值6
这样分析结果是14,但是VC运行结果是15,不同编译器结果会不一样。
所以我现在也很纠结。
由于编译器从右向左扫描程序分析,是从右向左执行的,如果你学过编译原理,你就知道了。
下面分析如下,值得注意的是i++,i的值加1,而表达式的值不变.++i,表达式和i都加1
详细分析如下
// i=3 执行i++后 i++ 值3 i值4
// i=4 执行++i后 ++i 值5 i值5
// i=5 执行++i后 ++i 值6 i值6
这样分析结果是14,但是VC运行结果是15,不同编译器结果会不一样。
所以我现在也很纠结。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
k等于14 i=6
i++ ;i先参与计算再加1;++i 先加1,再参与计算;有括号算括号里的
首先 ++i i加1变为4;k=4
之后 ++i i加1变为5;k=4+5
再之后 i++之后i再加1;变为6再算括号之外的;k= 4+5+6=15;
不明白的话给我留言 ;
i++ ;i先参与计算再加1;++i 先加1,再参与计算;有括号算括号里的
首先 ++i i加1变为4;k=4
之后 ++i i加1变为5;k=4+5
再之后 i++之后i再加1;变为6再算括号之外的;k= 4+5+6=15;
不明白的话给我留言 ;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询