Einige Fragen zu notepad++
-
nman schrieb:
Google, "stdflush stdin". Erster Treffer: http://faq.cprogramming.com/cgi-bin/smartfaq.cgi?answer=1052863818&id=1043284351
danke, aber den Artikel habe ich schon gelesen. Nur leider nicht wirklich was verstanden, da mir das Fachchinesisch "Noch" nicht liegt.
Habe logischerweise weitergesucht doch die Erörterung blieb stehts gleich.^^
-
Noobkiller16 schrieb:
Muss ja sicherlich einen ungewollten nebeneffekt haben wenn es so umstritten ist.
Kurzfassung: Nein, hat es nicht - aber es hat auch nicht den erwarteten/erhofften Effekt. Laut Standard funktioniert fflush() nur mit Ausgabe-FILE's (z.B. stdout oder eine per
fopen(...,"w");
geöffnete Datei) und hat für diesen Anwendungszweck auch eine klar definierte Funktion. Was es mit Eingabe-FILE's (wie stdin) macht, wird nicht spezifiziert.
(das hat MS so zweckentfremdet, daß es ein unter Umständen plausibles, aber nicht portables Ergebnis liefert)PS: C++ trennt hier klar zwischen ostream::flush() und istream::ignore().
-
ich habe mich an diese Arbeitsweise gewöhnt, falls das Programm nicht auf anderen Rechnern übertragen werden sollte: Das Programm im Anklickmenü als nicht schließend kennzeichnen, oder eben Konsoleprogramme gleich aus der Konsole heraus kompilieren und starten.
compiler z.B.: http://bellard.org/tcc/
-
Alles klar dann weis ich bescheid.
Ich habe hier noch ein kleines Problem.
Ich wollte gestern noch ein code schreiben, welcher mir die ersten 10 quadratzahlen ausgibt.
Das Programm startet zwar, aber es kommen immer verschiedene Zahlen und ich erreiche nicht den Effekt den ich eigentlich erzielen wollte.#include <stdafx.h> #include <stdio.h> int main (void) { int x; printf("Hier sind die ersten 10 quadratzahlen!\n"); printf("%d\n", &x); for(x=1;x<10;x=x+1); return 0; }
ich habe so ziemlich alles gemacht was ich machen musste.
Ich habe x einen wert gegeben ( 1 ) dann habe ich gesagt das der wert der variable nicht größer als 10 werden darf, da x der multiplikator ist.
Dann x+1 damit sich die Variable immer um eins erhöht und am ende den wert mit x initialisiert.
-
Du gibst ja auch die Adresse deiner VAriable aus, da kann nichts draus werden (bei printf() mußt du nicht die Adresse übergeben). Außerdem wäre es eine gute Idee, die Ausgabe IN die Schleife zu ziehen:
for(i=1;i<=10;++i) printf("%d", i*i);
-
CStoll schrieb:
Du gibst ja auch die Adresse deiner VAriable aus, da kann nichts draus werden (bei printf() mußt du nicht die Adresse übergeben). Außerdem wäre es eine gute Idee, die Ausgabe IN die Schleife zu ziehen:
for(i=1;i<=10;++i) printf("%d", i*i);
erstmal danke für deine Antwort.
Jetzt läuft es definitiv stabiler und es kommt einen Konstante Zahl.
Leider wird nur eine Zahl ausgegeben und zwar 121 und ich wollte die ersten 10 Quadratzahlen haben, also 1*1 Ergebnis 2*2 Ergebnis etc. Und am besten noch einen Abstand zwischen den jeweiligen Zahlen.Außerdem habe ich auch noch einen Frage zu VB 2010 Express.
Immer wenn ich ein Projekt erstelle, dann einen lauffähigen Code schreibe diesen dann durch den Debugger starten lasse, kann ich diesen Code nicht mehr verändern.
Bzw Veränderungen werden nicht wahrgenommen und der Code wird wie folgt einfach gestartet. Selbst wenn ich den ganze Code im Fenster lösche!
Deswegen muss ich immer ein komplett neues Projekt erstellen was immer wieder dauert und blöd ist.
Habt ihr vielleicht eine Möglichkeit einen Code sofort zu löschen ohne das ich dann ein neues Projekt erstellen muss ?
-
Keine Ahnung wie du CStoll's Quelltext noch ergänzt hast. Der ist Okay.
Hier mal komplett:
#include <stdio.h> int main (void) { printf("Hier sind die ersten 10 quadratzahlen!\n"); for(int i=1;i<=10;++i) printf("%d\n", i*i); return 0; }
Microsoft geht da einen anderen Weg. Deshalb ist es möglich das der Quelltext bei denen nicht so läuft.
MfG f.-th.
-
Besorg Dir bitte mal ein Buch.
Du hast ja wirklich überhaupt keine Ahnung und das Forum ist nicht dazu da Dir die Grundlagen zu erklären.
-
Noobkiller16 schrieb:
CStoll schrieb:
Du gibst ja auch die Adresse deiner VAriable aus, da kann nichts draus werden (bei printf() mußt du nicht die Adresse übergeben). Außerdem wäre es eine gute Idee, die Ausgabe IN die Schleife zu ziehen:
for(i=1;i<=10;++i) printf("%d", i*i);
erstmal danke für deine Antwort.
Jetzt läuft es definitiv stabiler und es kommt einen Konstante Zahl.
Leider wird nur eine Zahl ausgegeben und zwar 121 und ich wollte die ersten 10 Quadratzahlen haben, also 1*1 Ergebnis 2*2 Ergebnis etc. Und am besten noch einen Abstand zwischen den jeweiligen Zahlen.Lass mich raten - du hast hinter der for()-Schleife noch ein Semikolon gesetzt.
-
Jap war das Semikolon danke;)