int main( )
{
int i = 0;
for(i = 0 ; i < 10 ; i++) //判断条件尽量采用 { //这种前闭后开的形式
if( i==5 )
continue ;
printf("%d" , i );
}
}
4月15号的while循环改为for循环的话就不会出现死循环的情况,因为在for循环中调整语句在整个执行语句之外不会受到continue的影响
int main( )
{
int i = 0;
while(i<10)
{
if( i==5 )
continue;
i++;
printf("%d" , i );
}
}
注意 :
不可在for循环体内修改循环变量,防for循 环失去控制
int main( )
{
int i = 0;
for(i = 0 ; i < 10 ; i++)
{
//if( i==5 ) ;
if( i = 5) ; 将i == 5改为i = 5
continue ; 循环变量改变
printf("%d" , i );
}
}
i被赋值为5,当i等于0进入循环体时i就被赋值为5,从而一直被if语句判断并continue,i又小于10,因此循环会一直进行,形成死循环。
将for循环的初始化、判断、调整三部分都省略
int main( )
{
for( ; ; )
{
printf( "hehe\n" );
}
}
for循环中初始化和调整都没有,表示啥也不做而判断没有则表示循环一直进行
int main ( )
{
int i = 0 ;
int j = 0 ;
for ( i =0 ; i <= 4 ; i++)
for ( j=0 ; j <= 4 ; j++)
{
printf(" hehe ") ;
}
}
打印16个 "hehe"
………………………………………………
去掉for循环内的"i = 0"和" j = 0"
int main ( )
{
int i = 0 ;
int j = 0 ;
for ( ; i <= 4 ; i++)
for ( ; j <= 4 ; j++)
{
printf(" hehe ") ;
}
}
去掉for循环内的"i = 0"和" j = 0"
在i等于0的第一次循环中,j是正常循环的,也就是由0到3循环4次,j的值等于4时退出第2个for循环;然后i的值加1,继续执行下列语句,但此时j的值为4导致直接退出循环,i只能再加1,再进去循环……
所以在去掉for循环内的"i = 0"和" j = 0"时,原本打印16次"hehe"的程序就只能打印4次"hehe"
int main ( )
{
int i = 0 ;
int j = 0 ;
for ( i =0 , j = 0; i = 0 ; i++ , j++)
i++ ;
}
一定不要忘记等于0为假,非0为真
这个循环不执行
变量的左值和右值
例如 :
int a = 10;
a = 20;
int b = a;
在这个式子中,a等于20用的其实是用的a的空间,将20放入a的空间中。
将a的值赋给b,也就是把20赋给b,用的是a空间中的值。
当使用a的值的时候,就是用的a的右值,当使用a的变量空间时,使用的是a的左值。
所以可以认为左值是空间,右值是空间的内容