C Programmierung: Scanf-befehl funktioniert nicht nach If- Anweisung

Guten Tag habe da ein Problem bei einem Programm an dem ich gerade arbeite: Ich soll mit Kommandos (list, pop, push und exit) einen Stack mit zeichen füllen, das letzte zeichen löschen, eine Liste des Stacks ausgeben oder das Programm verlassen. Momentan funktioniert nur das verleassen des Programms, da der Scanf-befehl hinter der if-Anweisung nach dem Kompilieren nicht ausgeführt wird, um ein Zeichen einzulesen. (fgetc() hat auch nicht funktioniert).

Vielleicht kann mir ja jemand erklären woran es liegt.

Quelltext:

include include include define NSTACK 15

int main(){ //Anfang Main

//Variablendeklaration char eingabe[6]; char stack[NSTACK]; char item; char z; //zwischenspeicher für zeichen int sp=0; //Ende Variablendeklaration

printf("\nStack auffüllen (bis 15 Zeichen)\n");
printf("Liste der Befehle:\n\n");
printf("list = Liste des Stacks anzeigen\n");
printf("push = Zeichen auf den Stack legen\n");
printf("pop = Zeichen vom Stapel nehmen\n");
printf("exit = Programm beenden\n\n");

 while(eingabe){    //Eingabeschleife

  printf("\nBitte geben Sie ihren Befehl ein: ");
  scanf("%s", &eingabe);
  printf("eingegebener Befehl: %s\n", eingabe);

  
  if (strcmp(eingabe,"exit") == 0){             //exit
printf("\n!!Das Programm wird beendet!!\n");
exit(1);
  } //ende exit
  
  else if (strcmp(eingabe,"push") == 0){            //push
scanf("%c", &z);
printf("Zeichen wird auf Stack gelegt\n");
  } //ende push
  else if (strcmp(eingabe,"pop") == 0){         //pop
printf("Das obertste Zeichen wird entfernt\n");
  } //ende pop
  else if (strcmp(eingabe,"list") == 0){            //liste ausgeben
printf("Die Liste des Stacks wird ausgegeben\n");
printf("%s\n", &stack);
  } //ende list
  
 }  //Ende eingabeschleife
 


printf("\ntest");

printf("\n\n"); return 0; } //Ende Main

...zum Beitrag

das erste scanf ist falsch. du übergibst die adresse von eingabe, wobei eingabe als variable schon auf das erste element verweist, also entweder eingabe übergeben oder &eingabe[0]. Bei dem printf ganz unten machst du den selben fehler. Am Besten nochmal das Kapitel Arrays und pointer anschauen.

...zur Antwort

Ich hoffe ich verstehe deine Frage, denn ich weis nicht was man daran nicht verstehen kann.

Je Besser das Rad auf dem Untegrund haftet auf dem es fährt, desto besser ist die Kraftübertragung auf. Desto höher ist auch die Reibung.

...zur Antwort

Es gibt s.g. ph-Indikatoren. Die Tränkt man mit der Flüssigkeit (sind dünne, schmale streifen).

Je nach dem wie sich dieser Indikator Färbt ist es eine Base oder eine Säure.

...zur Antwort

Hallo,

die beste Unterhaltung ist ein Bruder oder eine Schwester fuer Ihn. Stell dir vor du wärst ganz alleine mit einem Affen auf der Insel. Du bist zwar dann auf dieser Insel nicht alleine, aber beide vereinsamen trotzdem.

Ein Tier das in gesellschaft Lebt, so auch Hamster dürfen eigentlich nicht alleine gehalten werden. Das grenz schon an Tierquälerei.

MfG

...zur Antwort

mhm 60kwh sind sind 2,5kW täglich. das kann druchaus normal sein. Elektroheizungen brauchen sehr viel Strom, deshalb lässt man sie eig auch nur in der Nacht laufen, und hat nen Nachtstromtarif, so wird das ganze erheblich billiger. Aber möglich ist es schon, ja

...zur Antwort

Wo man okkulte, satanische, luciferische Symbole sehen will sieht man sie auch. Das haben alle Verschwörungstheorien ansich

...zur Antwort

Ich glaube sowas lässt Linux garnicht zu. Das wäre viel zu unsicher

...zur Antwort

Naja der Einzelhandel profitiert davon gewaltig. ICh mag diesen Kommerztag auch nicht. Ich schenke den Leuten meine Anwesenheit, das ist Geschenk genug

...zur Antwort

Definitiv nicht. Und wenn ja mit einer eklig hässlichen Narbe

...zur Antwort

Ein Variabler Widerstand ist ein sogennantes Potentiometer oder kurz Poti. Bei so einem Veränderbaren widerstand lassen sich Widerstandsbereiche übergangslos einstellen, zB von 0 bis 1kOhm. Je hörer nun der Widerstand, desto mehr Spannung fällt daran ab.

...zur Antwort

jo er will nur sex

...zur Antwort