說明下,5的階乘是120,
![]() |
M-gdddz68c8
展開
|
![]() |
quanwei0714
展開
這個(gè)例子很糟糕?容易讓人誤會(huì),goto的意思就是程序跳轉(zhuǎn)到標(biāo)簽位置執(zhí)行標(biāo)簽處的代碼,再以該位置繼續(xù)往下執(zhí)行,而且有標(biāo)簽的代碼,在程序執(zhí)行的時(shí)候也會(huì)正常執(zhí)行,這也就是為什么他要在error的地方做個(gè)if a>1的判斷,因?yàn)槌绦蛞爿斎霐?shù)字的時(shí)候error處的count++就讓count變成1了,不用if就會(huì)直接輸出你發(fā)錯(cuò)了那句話,所以這個(gè)例子真的很糟糕 ![]() 瑪尚代購
展開
@ quanwei0714 他只是沒講清楚,他是為了讓輸入錯(cuò)誤,能一直輸入 所以他把錯(cuò)誤的goto跳轉(zhuǎn)放在了switch上面,這樣錯(cuò)誤后,會(huì)因?yàn)榇a規(guī)則,繼續(xù)向下執(zhí)行到獲取用戶輸入,然后繼續(xù)switch判斷,形成一個(gè)錯(cuò)誤循環(huán) ![]() T112517kz
展開
@ quanwei0714 哦,懂了,goto是跳轉(zhuǎn)到標(biāo)識(shí)符所在位置繼續(xù)執(zhí)行程序,并不是說到標(biāo)識(shí)符那邊程序就停止了是吧,不過這個(gè)例子也是到error標(biāo)識(shí)符的地方執(zhí)行IF程序了啊,所以也是對的 ![]() T680317sg
展開
@ quanwei0714 您好,我不懂在error前面加那個(gè)if語句是什么意思,我試過如果放后面不過輸入什么都會(huì)提示輸入正確,所以這個(gè)if語句的作用是為了循環(huán)直到輸入正確的答案嗎? |
![]() |
雪上行者
講師
展開
|
![]() ![]() 學(xué)習(xí)達(dá)人
|
wyt990427
展開
我寫的簡單一點(diǎn)的大家做個(gè)參考:
start: //標(biāo)識(shí)符
Console.WriteLine("5的階乘為:\n1.5!=5\n2.5!=25\n3.5!=60\n4.5!=120\n請輸入你的選擇,按回車鍵確認(rèn)");
int option = int.Parse(Console.ReadLine());
switch(option)
{
case 1:
case 2:
case 3:
goto error; //選擇1,2,3時(shí)均跳轉(zhuǎn)到error標(biāo)識(shí)符
case 4: goto right; //選擇4時(shí)跳轉(zhuǎn)到right標(biāo)識(shí)符
default: Console.WriteLine("你輸入的選項(xiàng)不存在,請重新輸入...");goto start;//跳轉(zhuǎn)到開頭start標(biāo)識(shí)符
} |
![]() |
菜鳥茜茜
展開
|
![]() |
菜鳥茜茜
展開
|
承擔(dān)因您的行為而導(dǎo)致的法律責(zé)任,
本站有權(quán)保留或刪除有爭議評(píng)論。
參與本評(píng)論即表明您已經(jīng)閱讀并接受
上述條款。