不知道哪里有問題 輸不出1
#include <stdio.h>
int main()
{
??? int sum = 0;
??? int i;
??? KKKL:for(i=1; i<=10; i++)
??? {
??????? printf("%d\n", i);
??????? if(i==3)
??????? break;//是不是少了一個判斷呢?
??????? goto? KKKL;???????????????????? //在這里使用goto語句
??? }
??? printf("結(jié)束for循環(huán)了....");? //請選擇合適位置添加標(biāo)識符
??? return 0;???
}
2017-01-17
你這個邏輯關(guān)系理錯了
你這個if這么寫的話
if(i==3)
??????? break;//是不是少了一個判斷呢?
??????? goto? KKKL;
1:結(jié)構(gòu)上少了大括號,計算機(jī)認(rèn)為的是如果i==3執(zhí)行break;else否則執(zhí)行g(shù)oto KKKL;所以當(dāng)i=1時,if語句判斷為i<3,執(zhí)行了goto KKKL; 而你goto到for語句又把i的值初始化為1了,所以就死循環(huán)了。
2:goto是強(qiáng)制執(zhí)行到有標(biāo)識符的位置的,所以你把goto放在for語句前面是不對的,應(yīng)該吧goto放在printf(“”結(jié)束for循環(huán)了“”)的前面,當(dāng)i==3,輸出結(jié)束for循環(huán)。
2017-01-05
#include <stdio.h>
int main()
{
??? int sum = 0;
??? int i;
? ? for(i=1; i<=10; i++)
??? {
??????? printf("%d\n", i);
??????? if(i==3)//是不是少了一個判斷呢?
??????? goto? KKKL;???????????????????? //在這里使用goto語句
??? }
??? ?KKKL:printf("結(jié)束for循環(huán)了....");? //請選擇合適位置添加標(biāo)識符
??? return 0;????
}
2017-01-05
這樣寫的話,會陷入死循環(huán)吧,大概意思是這樣的:
for(i=1; i<=10; i++)
??? {
??????? printf("%d\n", i);
??????? if(i==3)
??????? ????break;//是不是少了一個判斷呢?
??????? else
????????????for(i=1; i<=10; i++)
??? ????????{
??????? ????????printf("%d\n", i);
??????????????? if(i==3)
????????????????break;//是不是少了一個判斷呢?
??????? ????????else
????????????????for...
??? }
??? }