Ich bin ein Anfänger Programmierer C eingeführt und ich vermisse etwas grundlegend über die Art, wie meine scanf() funktioniert. Ich möchte wie diese ein einzelnes int von der Tastatur mit Code lesen:Woher liest scanf() Eingaben, wenn nicht von der Tastatur?
#include <stdio.h>
#include <stdlib.h>
int main(void) {
int userBookSelection;
scanf("%i", &userBookSelection);
printf("Printing userBookSelection: %i", userBookSelection);
return EXIT_SUCCESS;
}
Wenn ich den Code ausführen, die Konsole bleibt schwarz, bis ich das Debuggen stoppen. Es gibt niemals einen Cursor, der auf eine Tastatureingabe wartet. Wenn ich Debug stoppen kann ich diese Ausgabe in der Konsole sehen, die gleichen jedes Mal:
Druck userBookSelection: 2130567168
ich mit MinGW GCC Compiler unter Windows in Eclipse bin Debuggen. Die Codesyntax scheint korrekt zu sein - ist es möglich, dass in meinem Build-Pfad etwas falsch ist, um dies zu ermöglichen? Ich muss wissen, warum scanf() nicht für Tastatureingabe liest.
Wie läuft der Code? – SLaks
Es funktioniert wie beabsichtigt, wenn ich Ihren Code ausführen – Tyler
Das Programm wie gezeigt ist korrekt ISO C (bis zu einem Punkt: 'scanf' ist gebrochen-wie angegeben, und sollte nie in der Produktion verwendet werden - aber für diese Art des Lernens Übung ist in Ordnung) und sollte wie vorgesehen funktionieren. _Exactly_ welcher Compiler, Debugger, Konsole, Betriebssystem usw. verwenden Sie? Lass nichts aus. – zwol