Meine Aufgabe ist es, zu zählen, wie viele Zeichen in einer C-Zeichenfolge sind. Die Eingabe wird von einem Testtreiber bereitgestellt, auf den ich keinen Zugriff habe, aber meine Funktion soll auf die Daten zugreifen und bestimmen, wie viele Zeichen von az und AZ reichen, aber mein Programm versagt und ich bin mir nicht sicher, was ich bin falsch machen.Suche, wie viele Zeichen in einer C-Zeichenfolge sind
int countLetters(char * const line)
{
char index = *line;
int count;
while(!index)
{
if (index >= 'a' && index <= 'z')
count++;
if (index >= 'A' && index <= 'Z')
count++;
}
return count;
}
> Versuchen initialisieren count = 0, bevor Sie es inkrementieren Versucht, dass und der Unterschied war anstelle von Tausenden von Treffern Ich habe 0 zurückgegeben. Ich bin mir nicht sicher, ob das Problem von dem Programm kommt, das das NULL-Zeichen fehlt, oder ob die Parameter in meinen if-Anweisungen falsch sind. Meistens ist mein Rückgabewert in den Tausenden, wenn es ~ 50 sein sollte – RyeMan
Sie müssen irgendwie Ihren Index jede Schleife vergrößern – rocketspacer
OK so perfekt, es funktioniert, aber aus irgendeinem Grund ist es -1 jedes Mal. Ich habe 'code'while (line (index ++) + 1))' code' geändert, was es behoben hat, aber ich verstehe nicht ganz, warum das passiert. – RyeMan