C Deklaration für "while"-Schleife erwartet?
Moin Leute, ich bin gerade dabei, C zu lernen und habe dazu mal den Quellcode aus einem Tutorial genommen. Da das Programm nach einer Eingabe endet, wollte ich nun mal etwas experimentieren und versuchen, eine Schleife einzufügen.
Ich habe es schon mit verschiedenen for und while Schleifen ausprobiert, aber jedes Mal bekomme ich für "for" und für "while" einen Fehler ausgeworfen, dass dafür eine Deklaration erwartet wird. Außerdem sagt er mir sowohl bei while als auch bei for, dass dieser einen Syntaxfehler erzeugt. Ich habe unten mal einen Screenshot davon angehängt.
Ich habe die Schleifen so, wie ich sie im Internet gefunden habe, übernommen, aber keine davon scheint zu funktionieren. Was mache ich falsch?
Ich benutze Microsoft Visual Studio Community 2022 Version 17.7.5.
3 Antworten
Naja, zu erst muss alles in einer Klasse sein in C.
Außerdem ist das eine Endlosschleife die nichts tut und der Code danach wird nie erreicht. Vermutlich willst du das semicolon entfernen, wobei ich ja nicht weiß was du erreichen willst.
Bist Du sicher dass Du hier nicht sowas wie C++ meinst (C ist Untermenge von C++)
Der Code muss in einer Funktion sein.
Benutze dafür den Haupteinsprungspunk main.
int main(void) {
//Dein Code
}
Du musst innerhalb einer Methode sein.
Schreibe davor:
int main( int argc, char ** argv ) {
Schreibe danach:
}
Hat schonmal soweit funktioniert, dass er jetzt die while Schleife erkennt. Aber jetzt kann ich in dem Programm keine Eingabe mehr machen. Er scheint nicht mehr bis zu dem Programmteil vorzukommen, der innerhalb der Schleife steht.
Den "i++"-Teil habe ich entfernt, da der ja jetzt nicht mehr benötigt wird.
Am Ende der Zeile mit dem 'while' ist ein Semikolon. Das macht den Ärger. Nimm es weg.
Der Block der While Schleife war das leere Statement ;
Dort gab es eine Endlosschleife. Deshalb ist er nicht zum 'float fzahl;' gekommen.
Ganz typischer Anfängerfehler.
Mein Ziel ist es eigentlich, dass der Code innerhalb der Schleife, sobald er zu Ende ist, immer wieder von vorne ausgeführt wird. Momentan wird das Programm beendet, sobald man eine Quadratwurzel ausrechnen lassen hat. Mein Ziel ist es jetzt, dass das Programm, sobald es die Quadratwurzel ausgerechnet hat, den Code erneut ausführt und auf die nächste Eingabe wartet, solange, bis man das Programm selbstständig beendet, indem man das Konsolenfenster schließt.