C中的计数器显示负数

Counter in C displaying negative number

我最近开始学习如何用 C 语言编程。我正在关注 class 在线,我们必须做的项目之一是创建一个游戏,让计算机随机生成一个两个常量之间的数字,并且用户应该以尽可能少的尝试找到它。

我正在尝试实现一种方法来计算每次程序通过循环时的尝试次数(将 +1 添加到计数器)但我得到的只是每次执行时尝试次数为 -472188416您可以在此处看到的程序 Program after execution。我不明白为什么...提前谢谢你。

这是我编写的代码:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(){
    const int MIN = 1;
    int nombreMystere = 0, nombreUser = 0, continuerPartie = 1, MAX = 0, Niveau = 0;
    srand(time(NULL));
    int compteurCoups = 1;

do
{
    printf("Bienvenue qu jeu du numero mystere\n");
    printf("Trouvez le bon numero en un minimum de coups\n\n");
    printf("Tapez 1 pour le mode facile\n");
    printf("Tapez 2 pour le mode moyen\n");
    printf("tapez 3 pour le mode difficile\n");


switch(Niveau)
{
    case 1:
    MAX = 10;
    nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;

    case 2:
    MAX = 100;
    nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;

    case 3:
    MAX = 1000;
    nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;

    default:
        printf("Veuillez introduire un nombre entre 1 et 3 : ");
        scanf("%d", &Niveau);
    break;
}
do
    {
 printf("Quel est le nombre ? ");

    scanf("%d", &nombreUser);
    
    if (nombreUser > nombreMystere)
        {
            printf("C'est moins !\n");
            nombreUser++;
        }
    else if (nombreUser < nombreMystere)
       {
            printf("C'est plus !\n");
            nombreUser++;
       }
    else
        {
            printf("Bravo, vous avez trouve le nombre mystere en %d essais !!!\n"), compteurCoups;
            printf("Voulez vous rejouer ?\n");
            printf("Si oui appuyer sur 1, sinon si vous voulez quitter appuyez sur 2\n");
            scanf("%d", &continuerPartie);
            printf("\n");
        }
    }while (nombreUser != nombreMystere);
}while (continuerPartie == 1);


return 0;
}

语法错误:

printf("Bravo, vous avez trouve le nombre mystere en %d essais !!!\n"), compteurCoups;

应该是

printf("Bravo, vous avez trouve le nombre mystere en %d essais !!!\n", compteurCoups);

不要忘记“compteurCoups”是 printf 函数的参数。因此,它属于函数名后的括号之间。

你增加了 nombre use 而不是 compteur Coups。