3 回答

TA貢獻1995條經驗 獲得超2個贊
循環體是一個“域”,通常用一對花括號,表示這個“域”的入口和出口。
從 “域”的外部 進入 這個域,只允許從 入口處進入。
從 “域”的內部(內嵌域) 進入 這個域,可以從任何地方進入。
不喜歡用 continue.
for(i=0;i<25;i++) 某種條件讓i等于7時跳出循環,回來為8, 程序改一下:
-----------------------------------------
int i,kk=0;
Lab1:
for (i=kk;i<25;i++){
語句;
語句;
if (i==7) { kk=i+1; break ;}; // 或 goto Lab2; 跳出循環。
語句;
}
Lab2: // 出了循環,做什么工作
if (i==7)
{
語句;
語句;
goto Lab1; 做畢,必須從 循環 入口 進去,利用 kk 的值,i 循環就從 8 起。
}
==============
若 不喜歡 goto Lab1; 可以寫
do {
for (i=kk;i<25;i++){ ... if (i==7){kk=i+1; break;}; .....};
if (i==7) { };
} while (i==7);

TA貢獻1799條經驗 獲得超9個贊
這個問題主要取決你使用的關鍵字是break,還是continue。
你用continue和break是有區別的
例如int i;
for(i=0;i<25;i++)
{if(i==7)
break;
}則表示跳出循環函數,也就是結束循環。
假如用continue
for(i=0;i<25;i++)
{if(i==7)
continue;}則表示跳出本次循環,直接執行i=8,之后的情況了。
按照你提得問題,應該采用的是continue,那就不會重新賦值的。
添加回答
舉報