c++for循环判断条件

问题:设m和n都是int类型,那么以下for循环语句,( )

# include <stdio.h>
int main()
{
int m,n;
for(m=0,n=-1;n=0;m++,n++)       //for(变量赋初值;循环判断条件;变量计算)   0为false,非零为true
{
n++;
printf("%d",n);
}
return 0;
}

 
循环体一次也不执行;循环体执行一次;是无限循环;有限次循环;循环结束判断条件不合法;运行出错

实验:当n=0时,编译通过,不显示任何数字;当n=1时,编译通过,运行结果无限显示222....;当n=-1时,编译通过,运行结果无限显示0000

分析:判断条件n=0,无论何时,n都被赋值为0,而赋值表达式的返回值即被赋值本身,即0,从而被认为是false,因此,for语句的循环体从来不会被执行。

 

猜你喜欢

转载自www.cnblogs.com/g6z3z/p/11291474.html