Heim > Backend-Entwicklung > C++ > Wie können wir Zahlen nacheinander ohne Schleifen oder bedingte Anweisungen drucken?

Wie können wir Zahlen nacheinander ohne Schleifen oder bedingte Anweisungen drucken?

Linda Hamilton
Freigeben: 2024-11-27 03:33:14
Original
591 Leute haben es durchsucht

How Can We Print Numbers Sequentially Without Loops or Conditional Statements?

Zahlen ohne Schleifen oder Bedingungen drucken

Bei der Programmierung ist es oft notwendig, eine Folge von Zahlen zu drucken oder anzuzeigen. Ein gängiger Ansatz besteht darin, Schleifen oder bedingte Anweisungen zu verwenden, um den gewünschten Bereich zu durchlaufen. Es ist jedoch möglich, eine Reihe von Zahlen zu drucken, ohne auf diese Konstrukte angewiesen zu sein.

Drucken von 1 bis 1000 in C oder C

Für die Aufgabe, Zahlen zu drucken von 1 bis 1000 ist eine mögliche Lösung eine rekursive Funktion:

#include <stdio.h>

void main(int j) {
  printf("%d\n", j);
  (&&main + (&exit - &main)*(j/1000))(j+1);
}
Nach dem Login kopieren

Diese Funktion ruft sich selbst auf Rekursiv wird der Parameter j erhöht, bis er den Wert 1000 erreicht. Um Zeigerfehler zu vermeiden, wird der Adressoperator & vor dem Funktionszeiger verwendet.

Standard-C-Version

Eine eher standardmäßige C-Version der oben genannten Funktion lautet wie folgt:

#include <stdio.h>
#include <stdlib.h>

void f(int j) {
  static void (*const ft[2])(int) = { f, exit };

  printf("%d\n", j);
  ft[j/1000](j + 1);
}

int main(int argc, char *argv[]) {
  f(1);
}
Nach dem Login kopieren

Diese Version verwendet ein statisches Funktionszeigerarray für erzielen Sie den gleichen Effekt.

Fazit

Obwohl diese Methoden möglicherweise nicht die effizientesten oder elegantesten Lösungen sind, demonstrieren sie die Möglichkeit, Zahlenfolgen ohne Verwendung von Schleifen oder zu drucken Bedingungen.

Das obige ist der detaillierte Inhalt vonWie können wir Zahlen nacheinander ohne Schleifen oder bedingte Anweisungen drucken?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage