Einfaches Textarray
-
Hallo und Guten Abend Hier ein Array - Programm
Das Programm liest einfach solange ein Passwort vom Benutzer ein
bis es korrekt eingegeben wurde.
Ich habe diesbezüglich eine Frage in Zeile 13
Wenn Ich hier ein & vor passwort hinschreibe kommt beim
Kompilieren folgende FehlermeldungAlso Zeile 13 : scanf("%s",&passwort);
Fehlermeldung
format ‘%s’ expects argument of type ‘char *’, but argument 2 has type ‘char (*)[10]’ [-Wformat]
#include <stdio.h> #include <strings.h> #define true 1 #define false 0 #define bool char int main() { bool passwort_korrekt = false; // Speichert Status, ob Passwort korrekt eingegeben wurde char passwort[10]; // Speicherplatz reservieren für Passworteingabe while (! passwort_korrekt) { // solange PW nicht korrekt eingegeben wurde… printf("Bitte Passwort eingeben: "); scanf("%s", passwort); if (strcmp(passwort,"geheim") == 0) { // Wenn PW korrekt, dann Status ändern passwort_korrekt = true; } } // Hier wird erst weitergemacht, wenn Status das richtige PW signalisiert printf("Passwort korrekt\n"); return 0; }
Hat jemand eine Erklärung für diese Fehlermeldung, Es hängt damit zusammen,
dass man bei einem String array nicht die Anweisung schreibe an "Adresse von"
erteilt,sondern man gibt die Variable direckt an. Nur wieso ist dies
hier der Fall?
-
Ein Arrayname alleine (ohne []) steht schon für die Adresse von dem Array.
-
Danke!