為什么goto必須在LOOP的if分支結(jié)構(gòu)里才行,我一放到外面就執(zhí)行不了?
#include <stdio.h>
int main()
{
? ? int sum = 0;
? ? int i;
? ? for(i=1; i<=10; i++)
? ? {
? ? ? ? printf("%d\n", i);
? ? ? ? //是不是少了一個判斷呢? ? ? ?
? ? ? ? KB: if(i==3) ? ??
? ? ? ? {
? ? ? ? ? ? break;
? ? ? ?? ? ?goto KB;? ? ? ? ? ? ? //在這里使用goto語句1 ?這里可以
? ? ? ? }?
? ? ? ? ?goto KB;? ? ? ? ? ? ? //在這里使用goto語句2 ?這里不可以為什么?
? ? }
? ? printf("結(jié)束for循環(huán)了...."); ?//請選擇合適位置添加標(biāo)識符
? ? return 0; ? ?
}
2018-10-18
你的第二條goto放在了for循環(huán)里了,當(dāng)i=1時先printf,然后判斷i==3不等于3進(jìn)行下一條,然后就是goto KB,再判斷,死循環(huán)了
2018-10-18
如果在循環(huán)外的話,會死循環(huán)