Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
-- Informatik in der Schule (http://www.informatikerboard.de/board/board.php?boardid=21)
--- If-Funktion in C (http://www.informatikerboard.de/board/thread.php?threadid=594)


Geschrieben von Lea am 27.10.2009 um 16:07:

  If-Funktion in C

Hallo ihr,
kleines Problemchen, aber ich weiß einfach nicht was ich falsch gemacht habe... wollt eigentl. nur ne einfache if-else-Fkt in C schreiben, und wenn man f eingibt, sollte der Text ausgegeben werden... völlig sinnfrei, nur zur Übung... (aber leider funktioniert das nicht mal!)

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

int main()
{
printf("Zum Test bitte f eingeben, wenn Programm ausgeben soll: Juhu…!\n");
getchar();
if (getchar()=='f') printf("Juhu! Es funktioniert!\n");
else printf("Schade!\n");
system("PAUSE");
return 0;
}

Was hab ich falsch gemacht???
Lg Lea



Geschrieben von Thomas am 28.10.2009 um 22:13:

 

Welche Fehlermeldung gibt es?



Geschrieben von Lea am 29.10.2009 um 12:31:

 

Gar keine, das is ja das verwunderliche! Das Programm läuft, nur wenn ich f eingebe, wird die Schade-Meldung ausgegeben.... Das seltsame aber ist nun, wenn ich zwei f eingebe, also ff, dann kommt Juhu usw...

Ich bin echt verwirrt, vor alllem weils ja nur ne kleine if-Fkt is, ohne Verzweigung und alles... Kann das an evt. an meinem Schreibprogramm liegen - ich hab mir dev-cpp ausm Internet runtergezogen...

Lg Lea



Geschrieben von Thomas am 29.10.2009 um 18:23:

 

Das Problem ist, dass du zweimal die getchar()-Funktion aufrufst. Entweder, du lässt das vor dem "if" weg, oder du schreibst den ersten Aufruf in eine Variable und prüfst dann im "if" den Variablenwert.


Forensoftware: Burning Board, entwickelt von WoltLab GmbH