Anfänger Programmierer hier. Ich versuche, eine Eingabe vom Benutzer zu nehmen, sie umzukehren und das Ergebnis anzuzeigen. Aus irgendeinem Grund werden anstelle der umgekehrten Zeichenfolge Leerzeichen gedruckt. Ich weiß, dass array[i]
die richtigen Informationen hat, denn wenn ich diese Schleife auf Linie for (int i=0; i<count; i++)
verwende, druckt es die richtigen Zeichen. Es wird nur nicht rückwärts gedruckt. Was bekomme ich hier nicht?Umkehren einer Zeichenfolge in C mit Schleife
#include <stdio.h>
#include <cs50.h>
#include <string.h>
int main(void)
{
printf("Please enter a word: ");
char *word = get_string();
int count = strlen(word);
char array[count];
for (int i=0; i< count; i++)
{
array[i] = word[i];
}
for (int i=count-1; i==0; i--)
{
printf("%c ", array[i]);
}
printf("\n");
}
Ihr Zustand ist falsch. Es sollte sein: 'für (int i = zählen-1; i> = 0; i -)' –
Was ist der Sinn des Kopierens der Eingabe wörtlich woanders? Warum nicht einfach von dort drucken, wo es ist? –
Wenn Sie die Zeichenfolge umkehren möchten, muss sich Ihre erste for-Schleife ändern. Ein Array zählt die anderen Countdowns weiter –