一道简单的C++问题

#include<iostream>usingnamespacestd;voidmain(){intn=0,k=0;while(k++&&n++>2);cout<<k<<... #include <iostream>
using namespace std;
void main()
{int n=0,k=0;
while(k++&&n++>2);
cout<<k<<','<<n;
}
while(k++&&n++>2);这句话怎么理解
展开
 我来答
zhuhuaizhong
2013-05-18 · TA获得超过7276个赞
知道大有可为答主
回答量:3978
采纳率:63%
帮助的人:3558万
展开全部
当两个条件均成立时,while 循环执行某些操作,但因为 while后有分号,故循环体为空直接进入下次条件的判断。

条件由 两部分构成,根据运算的左结合性,先运算第一个表达式,k++ ,而第一个表达式由两个操作构成, 判断 k 是否非0,k自增1,因为 ++ 在后,故先判断是否非 0 再增 1,而判断结果是 0 ,假,故 k 增 1 变为 1 之后,&& 后的另外一个表达式 n++>2 就无需运算了,因为只要有一个假整个表达式就是假。
所以结果为 1 , 0
银河群峰之巅
2013-05-18 · TA获得超过498个赞
知道小有建树答主
回答量:638
采纳率:100%
帮助的人:349万
展开全部
1.判断是否k不是0并且n>2
2.把k和n都加1
3.如果1成立,走到1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
于无数G
2013-05-18 · 超过28用户采纳过TA的回答
知道答主
回答量:204
采纳率:0%
帮助的人:65.7万
展开全部
就是两个条件,当同时成立时,进入循环
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
walk玩乐
2013-05-18
知道答主
回答量:23
采纳率:0%
帮助的人:17.9万
展开全部
while循环目的是改变k和n的值, 因为n++>2 不满足,所以while不循环直接跳出,得到k=1 n=1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
有郊范围
2013-05-18 · TA获得超过214个赞
知道答主
回答量:297
采纳率:0%
帮助的人:147万
展开全部
此句毫无意义。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式