Das Ziel des Programms ist es, eine Sequenz von X, 1, 2 zu scannen, je nachdem, wie der Benutzer sie zusammengesetzt hat, und dann anzuzeigen, wie viele X er eingegeben hat.
Aus irgendeinem Grund wird nach dem 8 X/1/2, das ich eingegeben habe (das 8-malige Drücken der EINGABETASTE, da ich sie einzeln eingegeben habe), die Zahl 15 angezeigt, egal wie ich die Zahlen eingegeben habe.
Meine Frage, warum hört es nach 8 ENTER auf, wenn das for auf i=1; i<=TOTOSIZE; i++
TOTOSIZE = 15 . eingestellt ist
Und warum zeigt es die ganze Zeit die Nummer 15 an, anstatt was es tun soll.
#include <stdio.h>
#define TOTOSIZE 15
int main()
{
int d = 0, i;
char score;
for (i = 1; i <= TOTOSIZE; i++)
{
scanf_s("%c", &score);
if (score == 'X');
{
d++;
}
_flushall();
}
printf("%d", d);
return 0;
}
Ich habe Sie vielleicht nicht richtig verstanden, aber nach meinem Verständnis geben Sie 15 verschiedene Zeichen ein, von denen jedes entweder 1, 2 oder X ist, und zählen, wie viele X eingegeben wurden. Wenn dies korrekt ist, scheint Ihr Problem ein Semikolon nach der if-Anweisung zu sein. Dieser Code würde funktionieren -
#include <stdio.h>
#define TOTOSIZE 15
int main()
{
int d = 0, i;
char score;
for (i = 1; i <= TOTOSIZE; i++)
{
scanf_s("%c", &score);
if (score == 'X')
{
d++;
}
_flushall();
}
printf("%d", d);
return 0;
}
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen