Re: [問題] C語言的雙層迴圈
※ 引述《kkkkdragon (呆呆)》之銘言:
: 開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
: C++
: 問題(Question):
: 如何將for的雙層迴圈變成goto
: 程式碼(Code):(請善用置底文網頁, 記得排版)
: for(j=1; j<=5; j=j+1) {
: printf("%d:",j);
: for(i=0; i<j; i=i+1) {
: printf("%c",A1[i]);
: }
: 補充說明(Supplement):
首先,你的 code 本身有問題,少了一個 }
而且排版很亂 = =;
初步整理一下,你的 code 應該是這樣
for (j = 1; j <= 5; j++) {
printf("%d:", j);
for ( i = 0; i < j; i++) {
printf("%c", A1[i]);
}
}
=====================================
要將 for 改成 goto
for 通常形式長這樣
for (stmt1; stmt2; stmt3) {
}
其中,
stmt1 是迴圈前的初始化
stmt2 是進入回圈的判斷條件
stmt3 是 counter 的變化量
stmt1;
lable:
if ( stmt2 ) {
//迴圈內容
stmt3;
goto lable;
}
意思是,我先執行 stmt1 初始一些變數,然後判斷是否符合 stmt2 的條件
如果符合,執行迴圈內容,接著 stmt3 我的 counter 有一些變化量運算
之後回到 lable
所以說你的 code 可能可以改成這樣...
http://nopaste.csie.org/09015
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.60.107.233
推
06/01 10:15, , 1F
06/01 10:15, 1F
推
06/01 10:42, , 2F
06/01 10:42, 2F
推
06/01 10:48, , 3F
06/01 10:48, 3F
推
06/01 14:11, , 4F
06/01 14:11, 4F
推
06/01 16:42, , 5F
06/01 16:42, 5F
推
06/02 00:34, , 6F
06/02 00:34, 6F
推
06/02 01:13, , 7F
06/02 01:13, 7F
推
06/03 01:47, , 8F
06/03 01:47, 8F
→
06/03 08:02, , 9F
06/03 08:02, 9F
→
06/03 08:32, , 10F
06/03 08:32, 10F
→
06/03 08:46, , 11F
06/03 08:46, 11F
→
06/03 10:00, , 12F
06/03 10:00, 12F
→
06/03 13:01, , 13F
06/03 13:01, 13F
→
06/03 18:22, , 14F
06/03 18:22, 14F
推
06/03 18:40, , 15F
06/03 18:40, 15F
→
06/03 20:26, , 16F
06/03 20:26, 16F
推
06/03 21:35, , 17F
06/03 21:35, 17F
→
06/03 22:06, , 18F
06/03 22:06, 18F
→
06/04 19:21, , 19F
06/04 19:21, 19F
→
06/04 19:22, , 20F
06/04 19:22, 20F
討論串 (同標題文章)