Code: warum diese Ausgabe??!?!?!?
-
Hallo, ich habe hier ein kleines Problem.
Ich habe einen Code, welcher die Tastatureingaben aufnimmt, diese dann "auswerten" und dann ausgeben muss.
Bei einer Eingabe von 0 kommt am Ende = 0 raus und bei der 3 auch die = 3
Eigenartig ist nur, das ich bei der Ausgabe nicht die selbe Variable angebe, die ich beim einlesen der Tastatur verwende...bin den code etliche mal durchgerast, und erkannt...das der code eigentlich nichts macht...
nur warum diese ausgabe?
hier der code:
#include <stdio.h> int main(){ int x ; int zahl,n; printf("Zahl eingeben (int)\n"); scanf("%d",&n); zahl=-1; for(x=0; x && n>=2 ;x=0){ zahl=1; printf("zahl: %d \n",zahl); } //printf("zahl: %d \n",zahl); system("PAUSE"); return 0; }
schon mal besten dank...mfg
-
Dein Programm gibt - bis auf die Ausgabe von
pause
- garnix aus...greetz, Swordfish
-
Hallo cftw,
was genau soll denn das Programm überhaupt machen?
Die for-Schleife macht m. E. keinen Sinn.Gruß
sparrow
-
Hallo
Also wenn man es kompiliert, so war es bei mir, da wurd immer nur meine eingabe ausgegeben...
Ja....die Schleife macht meiner Meinung nach auch KEINEN sinn, nur das war eine Klausuraufgabe...und ich habe daran bissi rumgefummelt.
Will sicher gehen, ob es nicht so eine Art verarschung, was wirklich nichts sinnvolles macht.
ALso...wenn ich 3 eingebe...gibt der auch 3 aus...mit 0 das selbe...
Frage: warum?
denn laut code gebe ich n ein:
scanf("%d",&n);
und am Ende gebe ich zahl aus....
printf("zahl: %d \n",zahl);
wie kann zahl also den Inhalt von n haben? bzw...warum die Eingabe von mir...die selbe ausgabe sein? das irritiert mich....
mfg
-
Also diese Aufgabe wurde gestellt, und gesagt: Was wird bei einer EIngabe von 0 und bei einer 3 ausgegeben...
Da ich dann unsicher war, habe ichs kompiliert, und prompt kam immmer nur meine Eingabe als Ausgabe raus..
Die Frage ist warum....wie in meinem letzten Posting näher beschrieben.
danke
-
Könntest du vielleicht den Code, genau so wie er in der Klausur angegeben war, posten.
Es scheint so, als wenn der Code der oben steht bereits von dir bearbeitet wurde. Die Ausgaben wurden auskommentiert, etc.
Das Programm in folgender Form:
#include <stdio.h> int main(){ int x ; int zahl,n; printf("Zahl eingeben (int)\n"); scanf("%d",&n); zahl=-1; for(x=0; x && n>=2 ;x=0){ zahl=1; printf("zahl: %d \n",zahl); } printf("zahl: %d \n",zahl); return 0; }
macht genau das was es machen soll, nämlich immer den Wert -1 für Zahl auswerfen.
Dieser Wert wird in Zeile 9 gesetzt.Dem Aufgabensteller ging es auch keineswegs darum was mit zahl tatsächlich geschieht. Vielmehr scheint hier die for-Schleife wichtig zu sein. Warum wird diese, bzw. wird sie nicht, durchlaufen?
Das zahl den Wert von n bekommt halte ich für ausgeschlossen.
Gruß
Sparrow
-
danke sparrow,
OrignalCode:
#include <stdio.h> int main(){ int x,zahl,n; printf("Zahl eingeben (int)\n"); scanf("%d",&n); zahl=-1; for(x=1; x && n>=2 ;x=0) zahl=1; printf("zahl: %d \n",zahl); return 0; }
Also ich konnte den Fehle beheben...die Ausgabe is so: Eingabe 0--> Ausgabe: -1
Eingabe 3--> Ausgabe: 1Nicht lachen aber, gestern abend wars scheinbar schon zu spät, als das ich ned gemerkt habe...das ich vorher x=0 setzte statt auf x=1
ich hoffe diese ausgabe stimmt dieses mal....und vielen dank
-
Liefert 1, wenn die Eingabe ≥2, ansonsten 0.