c++ - L'instruction Break du langage C signale une erreur
ringa_lee
ringa_lee 2017-06-22 11:53:37
0
4
1495

Je ne sais pas où je me suis trompé, donnez-moi un indice. Je le regarde depuis longtemps et je pense que c'est un problème avec les supports, mais je ne sais pas comment le changer

.
#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

répondre à tous(4)
巴扎黑

Le premier break est utilisé de manière inappropriée. Break doit être utilisé à l'intérieur d'une boucle. La deuxième pause est bien. Il est recommandé que le format de votre code soit cohérent et s'il y a des accolades, ajoutez-les uniformément. Changez le code comme suit :

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;
三叔

L'instruction break a deux utilisations :
1 Utilisée dans l'instruction switch pour quitter l'instruction switch à mi-chemin.
2. Utilisé dans les instructions de boucle pour quitter la boucle actuelle directement à partir du corps de la boucle.

La première instruction break de la question n'appartient pas à ces deux usages.

phpcn_u1582

Il y a trois problèmes avec votre code :

1, la fonction main() n'a pas de type de valeur de retour

2. Les deux fonctions rollDice() et delay() sont appelées sans déclaration préalable

3, erreur d'utilisation de rupture

L'un des trois points ci-dessus suffit pour que le programme signale directement une erreur.

De plus, je vous conseille de maîtriser d'abord les compétences linguistiques de base, puis de déboguer davantage.

迷茫

break est utilisé pour sortir des instructions while, des instructions switch, do{}while, for{} Yu opera

Pas l'habitude de sortir de if/else

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal