执行语句for(k=3;++k<5;++k)++k;後,变量k的值是?

答案是7。以下是我的思路:第一次执行++k<5,k=4,条件为真,执行++k,此时k=5。之後返回到++k,k=6。在回到判断条件++k<5,此时k=7。条件不成立输出k... 答案是7。以下是我的思路:第一次执行++k<5,k=4,条件为真,执行++k,此时k=5。之後返回到++k,k=6。在回到判断条件++k<5,此时k=7。条件不成立输出k=7。
不知道这种思路正不正确。求高手
展开
 我来答
百度网友3733b8924
2013-01-04 · TA获得超过297个赞
知道小有建树答主
回答量:119
采纳率:0%
帮助的人:55.4万
展开全部
由于都是同一个++k 我标注出①②③,楼主说的如果跟我表达的一致就是正确的(我怕误解原话)
for(k=3;++k①<5;++k②)++k③;

首先执行① k=4 返回真;
执行③ k=5;
然后执行② k=6;
再次判断 执行① k=7 返回假,跳出for

在②里面for(;;i++)和for(;;++i)功能完全一样,没有任何区别,i++与++i只有在表达式(包括逗号表达式、赋值表达式)中才有区别,在独立的语句(分号分隔)中没有任何区别

注明:这个说明适用在c++,但在很多新式编译器里面不一定完全相同(有的编译器在同等优先级的语句会同时做)所以如果试卷解题这样算ok,但实际使用上考虑多种因素,尽量不要这样混合用++k,k++的写法
祢豆子的脑公X
2013-01-04
知道答主
回答量:16
采纳率:0%
帮助的人:11.8万
展开全部
正确
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式