Ich bin Anfänger zu programmieren. Ich habe dieses kleine Programm geschrieben, um eine Zeichenfolge umzukehren. Aber wenn ich versuche, eine Zeichenfolge umzukehren, die weniger als 5 Zeichen lang ist, gibt es eine falsche Ausgabe. Ich kann nicht finden, was falsch ist.Etwas ist falsch mit diesem C-Code, um die Zeichenfolge umzukehren, aber ich weiß nicht was? bitte helfe
#include<stdio.h>
#include<string.h>
int main()
{
char test[50];
char rtest[50];
int i, j=0;
printf("Enter string : ");
scanf("%s", test);
int max = strlen(test) - 1;
for (i = max; i>=0; i--)
{
rtest[j] = test[i];
j++;
}
printf("Reversal is : %s\n", rtest);
return 0;
}
aber warum funktioniert es OK, wenn String-Länge 5 oder mehr Zeichen ist? – hsinxh
@Harbhag: Der Inhalt des Arrays 'rtest' ist unbestimmt - und es ist ein ** undefiniertes Verhalten **, das versucht, auf sie zuzugreifen (bevor Werte zugewiesen werden). Manchmal scheint es zu funktionieren - oft nicht. –
Danke für die Antwort, es funktioniert jetzt korrekt. – hsinxh