Wie machen Sie eine Wiederholungsschleife in C++? Im Gegensatz zu einer normalen While- oder For-Schleife. Ich muss den Zustand am Ende jeder Iteration überprüfen, anstatt am Anfang.Wie machen Sie eine Wiederholungsschleife in C++?
Antwort
do
{
// whatever
} while (!condition);
Wenn Sie wollen, um den Zustand zu Beginn der Schleife zu überprüfen, negieren einfach die Bedingung auf einer Standard-while
Schleife:
while(!cond) { ... }
Wenn Sie es am Ende benötigen, verwenden Sie ein do
. .. while
Schleife und negiert die Bedingung:
do { ... } while(!cond);
Sie Makros verwenden, könnten die Repeat-bis-Syntax zu simulieren.
Dies ist genau das, was ich gesucht habe. Nicht sicher, wie das "exp" funktioniert. Ist es ein generischer Platzhalter? Vielen Dank! –
@ Ace.C Es ist ein Argumentname. Die zweite Definition definiert ein Makro, das wie eine Funktion wirkt. In diesem Fall ist '#define bis (exp)' ein Makro mit dem Namen 'bis ', das den Parameter' exp 'annimmt und auf' while (! (Exp)) 'erweitert. –
Danke @ Conor.O, gibt es vielleicht und Artikel oder einen anderen Beitrag zu diesem Thema, mit dem Sie mich verlinken könnten? Ich habe Probleme, gute Ressourcen zu finden, um diese Art von Makros zu erstellen –
Für ein Beispiel, wenn Sie eine Schleife haben möchten, die gestoppt wurde, wenn alle Personen in einer Gruppe gezählt wurden. Wir betrachten den Wert X als gleich der Anzahl der Personen in der Gruppe, und der Zähler wird verwendet, um alle Personen in der Gruppe zu zählen. (! Zustand) zu schreiben, um die
während
der Code sein:
int x = Menschen;
int counter = 0;
while (x = Zähler!)
{
Zähler ++;
}
zurück 0;
Verwenden Sie einfach:
do
{
//enter code here
} while (!condition);
Was das bedeutet ist, es bewegt sich Ihre ‚prüfen Zustand‘ Teil bis zum Ende, da die while
am Ende ist. So überprüft es nur die Bedingung nach dem Ausführen des Codes, genau wie Sie es wollen
Wiederholen soll eine einfache Schleife sein n mal Schleife ... eine bedingungslose Version einer Schleife.
#define repeat(n) for (int i = 0; i < n; i++)
repeat(10) {
//do stuff
}
Sie können auch hinzufügen, auch eine zusätzliche barce das i-Variable zu isolieren, noch mehr
#define repeat(n) { for (int i = 0; i < n; i++)
#define endrepeat }
repeat(10) {
//do stuff
} endrepeat;
- 1. Wie mache ich eine unendliche Wiederholungsschleife in jQuery oder JavaScript?
- 2. Wie machen Sie die Potenzierung in C?
- 3. Übergeben Sie Parent-Bereichswert in Ang-Wiederholungsschleife in Angular
- 4. ng-Wiederholungsschleife auf Kontrollkästchen
- 5. Machen Sie eine Kopie eines unbekannten konkreten Typ in C++
- 6. Machen Sie y [i] eine veränderbare Variable in C
- 7. Machen Sie eine iPhone-Eigenschaft schreibgeschützt in iOS-Ziel-c
- 8. Machen Sie eine Windows-Highlight-Suche in C#
- 9. C# WPF Machen Sie eine Symbolleiste in einem Toolbartray rechtsbündig
- 10. So machen Sie Datenbesitz explizit in C++
- 11. wie in C# machen Datenbank
- 12. Wie machen Sie Inline-Delegaten in vb.net wie C#?
- 13. Machen Sie PDF editierbar in asp.net C#
- 14. Machen Sie C# -Montageattribut in Details anzeigen
- 15. Machen Sie bestimmte Wörter fett in C#
- 16. Anzeige Array-Ausgabe innerhalb Wiederholungsschleife in Swift
- 17. Wie machen Sie eine ähnliche Abfrage?
- 18. Wie machen Sie ein Array von Strukturen in C?
- 19. Wie machen Sie eine Medienabfrage mit SASS?
- 20. Drucken aller Werte einer Variablen aus einer Wiederholungsschleife in Netlogo
- 21. Machen Sie eine Kontrolle transparent
- 22. speichern alle Iteration Ergebnis der Wiederholungsschleife zu Arbeitsplatz in R
- 23. Wie eine Member-Objekte-Schnittstelle in C++ verfügbar machen
- 24. Machen Sie eine Methode generische
- 25. Machen Sie eine NSTableCellView editierbare
- 26. erhalten die Eingabefeldwerte von ng-Wiederholungsschleife
- 27. Machen Sie eine benutzerdefinierte Funktion in R
- 28. Machen Sie eine mehrsprachige Anwendung in asp.net
- 29. machen Sie eine Toggle-Taste in Javascript
- 30. Machen Sie eine Schaltfläche rund
Uhh ... Das ist ziemlich traurig. Emil schlug früher einreichen als ich ... Das "Akzeptierte" sollte zu ihm gehen ... – Adrien
Sie haben weniger Rep, und es ist eine sehr einfache Frage, also werde ich es Ihnen gerne geben. :) –
Wie jalf schon sagte: Wenn du eine do-to-loop und nicht eine do while-Schleife willst, musst du die Bedingung negieren. –