Frage von 1Genius, 25

Wie erzeuge ich ein char array, das mit zufälligen Kleinbuchstaben gefüllt ist?

bitte um tipps was hier alles falsch läuft

#include  <stdio.h>
#include  <string.h>
#include  <stdlib.h>


int main(void){
int i = 9;
char strings[i];
strings[i]='a' + rand()% 26;
printf("%c\n",strings[i]);
}
Antwort
von JupStrunk, 10

i bleibt immer auf 9 !!!
da sollte aber eine Schleife von 0 bis 8 laufen, da das Array 9 Elemente hat (0 bis 8) !!!

und der Wertwird somit in Elelement 9 (da i = 9) gechrieben, was ein undefiniertes Element ist, wird einen Fehler verursacht !!!


Antwort
von Kesselwagen, 7

Hallo 1Genius,

Du willst ja verschiedene, zufällige Zeichen in Dein Char-Array packen. Um Zufallszeichen an Positionen im Array zu bringen läufst Du z.B. ne for-Schleife durch

Mit printf kannst Du entweder in der for-Schleife drin die Zeichen einzeln ausgeben, oder mit %s das gesamte Array auf einmal.

Vorschlag:

#include <stdio.h> 
#include <stdlib.h>  
int main(void){     
char randomLowerCase[10];     
for(int i = 0; i < 9; i++) randomLowerCase[i] = 'a' + rand() % 26;     
printf("%s\n", randomLowerCase); 
}

---

Hoffe, dass ich Dir helfen konnte - bei Fragen melde Dich!

LG. Kesselwagen

Kommentar von JupStrunk ,

dann sollte das letzte Element aber ein NULL sein, ist hier aber undefiniert !!! ;)
also irgendwo vor dem printf ein

randomLowerCase[9] = '\0';
Kommentar von Kesselwagen ,

Ja oops, richtig... Nen String muss mit '\0' abgeschlossen werden... Danke.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten