看板 C_and_CPP 關於我們 聯絡資訊
小弟我以前還蠻喜歡用goto的,雖然很多人都跟我說過不要用goto.... ====================================================== int x = 0, sum = 0; start: printf("Please enter a int : "); scanf("%d",&x); if( x <= 0 ) goto end; while( --x >= 0 ) { if( x % 2 ) sum += x; } printf("odd sum is %d\n", sum ); sum = 0; goto start; end:; ====================================================== goto start 和 end 是個迴圈,只是我把他寫成goto 你要改的是while(--x >= 0)那一段 ====================================================== 真的開始工作在看code寫code的時候,goto是個很煩的東西... ※ 引述《dondon0419 (東東)》之銘言: : 老師上課要我們用goto計算1到輸入數字內的所有奇數和 : 不過不包括輸入的那各奇數 : 像輸入3的話,奇數和是1(不包含3這各奇數) : 輸入4的話.奇數和4 : 上課弄了很久還是跑不出來 : 所以想請教高手幫各忙 : { : int x,sum=1; : scanf("%d",&x); : start: : if ( x % 2 =1 ) : sum = sum + x; : 寫到這邊就卡住了,不知道怎寫x讓他停止在加下去 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.120.37.166 ※ 編輯: ljhgc 來自: 59.120.37.166 (08/05 14:16)
VictorTom:所以才會有說, goto盡量別用, 但是一用就是要用在最恰當 08/05 14:24
VictorTom:的地方, 這樣不知道是不是還會造成很煩的case....@_@" 08/05 14:24
peter0318:話說我同學說我們學校有個教授叫學生作業要用goto寫 08/05 14:25
peter0318:不能用for XD 08/05 14:26
xatier:但是有些時候用goto的確能省下不少麻煩, 例如跳出巢狀for的 08/05 15:58
xatier:時候, 用break只能跳出一層, goto就沒這個限制XD 08/05 15:59
loveme00835:層數少可以把旗標加到迴圈條件測試裡, 但是層數多意味 08/05 16:00
loveme00835:著你該用遞迴來改寫了... 08/05 16:01
JingX:有必要用goto嗎? 08/05 19:43
sorkayi:=這題用 do while 可以吧 08/06 09:27