代码之家  ›  专栏  ›  技术社区  ›  user19007709

这个C for循环的终止条件是什么

  •  0
  • user19007709  · 技术社区  · 3 年前

    我找到了链接 code 发现这个for循环对我来说有点奇怪。如果有人能给我解释一下这个循环的语法,我将不胜感激。 制造商

    void patch(Ptrlist *l, State *s)
    {
        Ptrlist *next;
        
        for(; l; l=next){
            next = l->next;
            l->s = s;
        }
    }
    
    1 回复  |  直到 3 年前
        1
  •  1
  •   Vlad from Moscow    3 年前

    这是循环

    for(; l; l=next){
    

    相当于

    for(; l != NULL; l=next){
    

    for(; l != 0; l=next){
    

    即执行for循环,直到控制表达式等于0。