Oui/Non boucle en C

Je ne comprends pas pourquoi ce Oui/Pas de boucle ne fonctionne pas. Toutes les suggestions? Compte tenu de l'entrée est "Y". J'ai juste envie de courir la boucle, puis demander l'Y ou N de nouveau. Si O, imprimer succès, si N, imprimer un bon bye déclaration. Quelle est la raison?

int main(){
    char answer;
    printf("\nWould you like to play? Enter Y or N: \n", answer);
    scanf("%c", &answer);
    printf("\n answer is %c");
    while (answer == 'Y'){
        printf("Success!");

        printf("\nDo you want to play again? Y or N: \n");
        scanf("%c", &answer);
    }
    printf("GoodBye!");
    return 0;
}
  • ce qui se passe lorsque vous l'exécutez?
  • vous savez, quand on vous pose la question, vous devez taper: Y<Enter> il ne fonctionne pas sur pression de touche
  • Je vais ajouter "pas de travail" signifie qu'il exécute l'ensemble du programme et des tirages au revoir, sans me donner la chance de répondre "Y" ou "N" de nouveau et d'exécuter la boucle à nouveau.
  • Je na sais tht
  • pouvez-vous expliquer?
  • sa lecture d'un flux
  • type AA<ENTER>, et il fera ce que vous attendez
  • (Pas lié à votre question) Fixer votre 2ème printf(). Là, vous vous attendez à un char avec "%c", mais le paramètre answer est manquant.
  • aussi votre frist printf a répondre en tant que paramètre, mais vous ne l'utilisez pas, donc l'enlever
  • Vous devriez vraiment vérifier que scanf() est de retourner quelque chose. Si l'utilisateur tape des expressions du FOLKLORE, votre programme ne sera probablement pas arrêter (une fois que vous avez résolu le problème de ne pas lire/ignorer les retours à la ligne et d'autres de l'espace blanc.
  • que suis-je censé faire de "incompatible déclaration implicite de la fonction intégrée ‘printf’"?

InformationsquelleAutor user2232926 | 2013-09-05