main()
{
int k = 4, n;
for (n = 0; n < k; n++)
{
if (n % 2 == 0) break;
k--;
}
printf("k = %d\n, n = %d\n", k, n);
system("pause");
}
求大神指教
使用break输出k =4 ,n = 0;;;;使用continue输出 k=3,n=3
main()
{
int k = 4, n;
for (n = 0; n < k; n++)
{
if (n % 2 == 0) break;
k--;
}
printf("k = %d\n, n = %d\n", k, n);
system("pause");
}
求大神指教
使用break输出k =4 ,n = 0;;;;使用continue输出 k=3,n=3
break结束循环;continue是结束本次循环,开始下次循环(不退出循环体,循环体的退出依然依靠条件判断)
举例:
当n=0时,n%2==0成立,执行break,所以会退出for循环,执行printf
将break变为continue时,当n%2==0成立,执行continue,然后k--将不再执行,直接开始下次循环(先n++,然后判断n < k)
所以就是当n是偶数时,k将不能--,
当n=0,continue,不执行k--;
然后n=1时,k--(k=3);
n=2时,continue,
n=3,此时n < k不成立退出for
所以k=3,n=3