黑马程序员技术交流社区

标题: for循环使用的注意点 [打印本页]

作者: 菜鸟_琦    时间: 2014-10-23 22:51
标题: for循环使用的注意点

1.作用域不明确,for循环里定义新的变量时,循环一定要加大括号。
[cpp] view plaincopy
int main()  
{  
    for(int i=0;i<5;i++)  
           int a =10;  
  
    return 0;  
}//编译不通过。  

2.for条件后面不要随便加;号
3.循环体里面的变量作用域
[cpp] view plaincopy
int main()  
{  
    for(int i=0;i<5;i++,a++)//逗号运算符,可连接多个小语句  
    {  
           int a =10;  
    }  
    return 0;  
}  
此代码编译不通过,因为定量a的作用域只限于循环体内,执行完循环体后,a的内存就释放了,导致for条件里面的a没有定义。

4.循环体里面的变量定义
[cpp] view plaincopy
int main()  
{  
    for(int i=0;i<5;i++)  
    {  
           int i =10;  
           printf("%d\n",i);  
    }  
    return 0;  
}  
此语句可以编译成功,输出结果为5次10,因为循环体里面的新变量i,每次循环执行完毕后后释放,不与条件里面的i冲突。
5.变量的作用域比较
[cpp] view plaincopy
int main()  
{  
    int a =10 ;  
    for(int i=0,a=9;i<5;i++)  
    {  
           a=8;  
       printf("%d\n",a);  
    }  
    return 0;  
}  
此段代码里面定义了三个a,但是每个a的作用域不一样,执行语句最先找到a=8,若循环体里没有a=8,则找到a=9,若for条件里面没有a=9,则找到最外层的a=10.




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2