老规矩先准备两个代码
(1)
int i=0;
int j=0;
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
printf("nb\n");
}
return 0;
}
(2)
int i=0;
int j=0;
for(;i<10;i++)
{
for(;j<10;j++)
{
printf("nb\n");
}
return 0;
}
(1)的运行结果有10*10个nb
(2)的运行结果只有10个
因为j的初始变量为0,在i =0进入第一次循环后j从0一直加到10.但是在i=1进入循环后j的值依旧为10并没有被初始化,所以之后的循环都不会做。导致他只能打印10个nb。