C/C++ 关于 for循环 的第二个表达式右侧非常量的时候

你看到的这个文章来自于http://www.cnblogs.com/ayanmw

废话不多说,直接看代码:

C/C++ 关于 for循环 的第二个表达式右侧非常量的时候
#include<stdio.h>

int main(){
    int i=5;
    for(int z=i,zmax=i+10;z<zmax;z++){
        printf("i=%d z=%d\n",i,z);i++;
    }
    /* 无限循环了....

    
    for(int z=i;z<i+10;z++){
        printf("i=%d z=%d\n",i,z);i++;
    }
    
    for(;i<i+10;i++){
        printf("i=%d\n",i);
    }
    */
    return 0;
}
C/C++ 关于 for循环 的第二个表达式右侧非常量的时候

两个无限循环的for,都是 第二个表达式 XX < ZZ 右侧为非常量所引起。

我本以为 编译器会优化,不过被一般的思维羁绊了,第二个表达式 也可能跟 前面的变量没有任何关系,所以不可能优化的么~

既然是表达式,当时是动态的,在for循环内部更新了变量,这个表达式自然会发生变化。

 

 

转载请注明出处:http://www.cnblogs.com/ayanmw 我会很高兴的!

C/C++ 关于 for循环 的第二个表达式右侧非常量的时候,布布扣,bubuko.com

C/C++ 关于 for循环 的第二个表达式右侧非常量的时候

上一篇:javaBean登录注册


下一篇:Effective Java 52 Refer to objects by their interfaces