c++ - c語言 break語句報錯
ringa_lee
ringa_lee 2017-06-22 11:53:37
0
4
1488

不知道哪裡出錯了,請大神提示下,看了好久了,感覺是括號的問題,但不知道怎麼改

#include<stdio.h>
#include<time.h>
#include<stdlib.h>
main()
{
    int rollDice();
    void delay();
    int i,result = 0 ,result1 = 0;
    printf("Game Start!!!!\n");
    result = rollDice();
    printf("%d\n",result);
    delay();
    if ((result == 7 )||(result == 11))
        {printf("Y\n");break;}
    else if ((result == 2) || (result == 3)|| (result == 12))
        {printf("N\n");}
    else
        printf("C\n");
        for (i = 0;i<7;i++)
            {result1 = rollDice();
            printf("%d\n",result1);
            if (result1==result)
                {printf("Y\n");break;}
            else if ((result1!=result)&&(i==6))
                printf("N\n");
        }
    return 0;
}
int rollDice()
{
     void delay();
     int a,b,c;
         srand((unsigned)time(NULL));
         a= rand()%6 + 1;
         delay();
         b= rand()%6 + 1;
         c = a + b;
     return c;
}
void delay()
{
    long t;
    for (t=0;t<50000000;t++)
    {

    }
}
ringa_lee
ringa_lee

ringa_lee

全部回覆(4)
巴扎黑

第一個break使用不恰當,必須在循環裡面才能使用break。第二個break就可以。建議你程式碼格式統一,有花括號就統一加花括號。程式碼改成這樣:

int rollDice();
void delay();
int i,result = 0 ,result1 = 0;
printf("Game Start!!!!\n");
result = rollDice();
printf("%d\n",result);
delay();
if ((result == 7 )||(result == 11))
    {printf("Y\n");}
else if ((result == 2) || (result == 3)|| (result == 12))
    {printf("N\n");}
else
    {printf("C\n");}
    
    
    
    
    for (i = 0;i<7;i++)
        {result1 = rollDice();
        printf("%d\n",result1);
        if (result1==result)
            {printf("Y\n");break;}
        else if ((result1!=result)&&(i==6))
            printf("N\n");
    }
    
return 0;
三叔

break語句有兩種用途:
1.用於switch語句中,從中途退出switch語句。
2.用於循環語句中,從循環體內直接退出當前循環。

題主的第一個break語句,這兩種用法都不屬於。

phpcn_u1582

你的程式碼有三個問題:

1,main()函數無回傳值​​型別

2,rollDice()、delay()這兩個函數未事先宣告就呼叫

3,break使用錯誤

以上三點任意一點都足以導致該程式直接報錯。

另外,我勸你先打好語言基本功,然後多調試。

迷茫

break用來在while語句,switch語句,do{}while,for{}豫劇裡面,跳出

不用於在if/else裡面跳出

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板