Re: [語法] 輸入與條件不符警示

看板C_and_CPP (C/C++)作者 (咕啾咕啾魔法陣)時間16年前 (2010/04/22 04:35), 編輯推噓8(806)
留言14則, 10人參與, 最新討論串2/3 (看更多)
while(1){ printf("what's time? (1)day , (2)night:"); scanf("%d",&x); if(x!=1&&x!=2){ printf("error!\nplease enter right time.\n"); continue; } break; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.134.226.149

04/22 04:36, , 1F
謝謝
04/22 04:36, 1F

04/22 06:35, , 2F
這時候用goto明明比較簡潔.... 不知道為什麼都會要求用迴圈
04/22 06:35, 2F

04/22 09:58, , 3F
記得是goto會對程式不好~可是我忘了原因<囧>
04/22 09:58, 3F

04/22 10:17, , 4F
破壞程式結構...初學者容易濫用goto
04/22 10:17, 4F

04/22 11:28, , 5F
do {...} while(x!=1&&x!=2&&printf("Error\n")!=0);
04/22 11:28, 5F

04/22 12:37, , 6F
如果沒要求的話我也是選擇goto
04/22 12:37, 6F

04/22 12:38, , 7F
我老師以前是說goto是compiler在做的事
04/22 12:38, 7F

04/22 14:54, , 8F
假設你現在兩種情況用goto很簡單,但下個人要改的時候
04/22 14:54, 8F

04/22 14:54, , 9F
多了不同的情況,又要在不同的地方加goto,然後愈改愈亂
04/22 14:54, 9F

04/22 14:54, , 10F
最後trace的時候就會跳來跳去沒有結構性,這樣有比較好嗎
04/22 14:54, 10F

04/22 15:23, , 11F
別人我不知道,但對我而言,一堆迴圈比一堆goto更讓人頭痛。
04/22 15:23, 11F

04/22 15:30, , 12F
沒辦法阿... 不然用函式包起來好了!
04/22 15:30, 12F

04/23 09:13, , 13F
那f大可以考慮放棄C#寫組語了, 可以一直jump哦~
04/23 09:13, 13F

04/23 11:50, , 14F
CJMP AJMP XD
04/23 11:50, 14F
文章代碼(AID): #1Bps5_G9 (C_and_CPP)
文章代碼(AID): #1Bps5_G9 (C_and_CPP)