首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >循环条件(cpp)

循环条件(cpp)
EN

Stack Overflow用户
提问于 2013-09-25 06:04:23
回答 7查看 429关注 0票数 3
代码语言:javascript
复制
for (; cnt--; dp += sz)
{
        pair_sanitize_struct(rec_id, ctx->api_mode, dp, FALSE);
}

有人能解释一下这个for循环是如何工作的吗?它属于cpp文件。我不明白for循环中的条件以及它是如何被检查的。(正在调用该函数)

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2013-09-25 06:11:45

for语句的一般形式如下所示:

代码语言:javascript
复制
for (init-statement; condition; expression)
    statement

init-statement用于初始化或分配在循环过程中修改的起始值。condition充当循环控件。只要condition的计算结果为true,就会执行statement。只有在expression为真的情况下,每次迭代才计算condition

回到您的代码:

代码语言:javascript
复制
for (; cnt--; dp += sz)

init-statement这里是一个空语句,它什么也不做。conditioncnt--,它将其值计算为cnt,然后递减1。如果cnt为非零,则condition为真,如果cnt为零,则condition为false.

票数 2
EN

Stack Overflow用户

发布于 2013-09-25 06:07:37

该条件被解释为真假方案。

如果为0,则为假,否则为真。

票数 1
EN

Stack Overflow用户

发布于 2013-09-25 06:12:42

这相当于以下代码-

代码语言:javascript
复制
for(; cnt-->0; dp += sz);

因为只要一个值不等于0,它就被认为是真。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18997370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档