在C语言中while(i-->0);表示什么意思

 我来答
天云小店
2015-05-16 · TA获得超过2.8万个赞
知道大有可为答主
回答量:3281
采纳率:91%
帮助的人:769万
展开全部

while(i-->0)表示当 i 的值小于或等于0时,退出while循环。


具体执行过程如下:

先将i的值与0比较,如果i大于0,则i的值减1,并执行while循环体中的语句,如果i小于0,则i的值减1,但是不执行while循环体中的语句。


例子程序及解释如下:

int i=3;
while(i-->0)
{
    printf("a");
}

对于上面的程序,输出三个字符a,最后 i 的值为0

xiaoyaoyumao55
2011-04-16 · TA获得超过233个赞
知道答主
回答量:81
采纳率:0%
帮助的人:89.5万
展开全部
可以这样看
int i,k;
k=i--;
while(k>0)
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yxs0005
2011-04-16 · TA获得超过242个赞
知道小有建树答主
回答量:226
采纳率:0%
帮助的人:90.3万
展开全部
相当于
while(i>0)
i--;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
陈老师567
2011-04-16 · TA获得超过161个赞
知道小有建树答主
回答量:288
采纳率:100%
帮助的人:132万
展开全部
相当于while(i--)
就是相当于while(i){--i;}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2011-04-16 · 超过18用户采纳过TA的回答
知道答主
回答量:56
采纳率:0%
帮助的人:36.7万
展开全部
像 i++, i-- 这类,首先将 i 的值与表达式运算,然后再自增或自减1,而像++i, --i 这类的先将i的值自增或自减1,然后再把改变后的值代入表达式进行运算。
所以 i-->0 的意思就是,先判断i是否大于0(大于0,表达式的值为1,否则为0,这个结果将用于while的条件),然后将 i 的值减1。while语句,如果括号内的值为0,则跳出while循环, 只要括号内的值不为0,则继续循环。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式