Mein C Code geht nicht?
Moin, ich verfolge gerade ein C Tutorial und stecke fest. Ich komme nicht von diesem Punkt/Fehler weg. Das Programm soll erstmal 4 Telefonnummer ausgeben, ist aber noch nicht fertig.
#include <stdio.h>
int main() {
char phoneNumbers[4] [256] = {
"+49265367000",
"+49347318001",
"+49134812002",
"+49127414003",
};
if (showMenu() == 0) {
showPhoneNumbers(phoneNumbers);
} else {
addPhoneNumber();
}
return 0;
}
void showPhoneNumbers(char myPhoneNumbers[4][256]) {
printf("Telefonnummern: \n");
for(int i = 0; i < 4; i++) { //diese Zeile ist immer rot
printf("(%d) %s \n", i, &myPhoneNumbers[i]);
}
}
void addPhoneNumber(){
printf("Neue Nummer hinzufuegen");
}
int showMenu() {
int selection;
printf("###### Herzlich Wilkommen ######\n");
printf("(0) Telefonnummern anzeigen\n");
printf("(1) Neue Nummer hinzufuegen\n");
scanf(" %d", &selection);
printf("\n\n");
if (selection == 0 || selection == 1) {
return selection;
} else {
printf("Eingabe ungueltig\n");
return showMenu();
}
}
1 Antwort
In C müssen Daten und Funktionen vor der ersten Nutzung deklariert werden.
Entweder du schiebst main() nach unten oder stellst
int showMenu();
void showPhoneNumbers(char myPhoneNumbers[4][256]);
void addPhoneNumber();
an den Anfang der Datei. Die Definition der Funktionen kann so auch unten bleiben.
Das liegt daran, dass C mal für Single-pass-Compiler entworfen wurde. D.h. dass nicht im Quelltext umhergesprungen werden konnte, um so etwas aufzulösen.