Heim > Backend-Entwicklung > C++ > Können Sie Variablen unterschiedlichen Typs in der Initialisierung einer C-For-Schleife deklarieren?

Können Sie Variablen unterschiedlichen Typs in der Initialisierung einer C-For-Schleife deklarieren?

Barbara Streisand
Freigeben: 2024-12-22 08:36:11
Original
990 Leute haben es durchsucht

Can You Declare Variables of Different Types in a C   For Loop's Initialization?

Variablen verschiedener Typen im Initialisierungskörper einer For-Schleife deklarieren

In C stellt sich die Frage, ob es möglich ist, Variablen verschiedener Typen im Initialisierungskörper von a zu deklarieren for-Schleife. Betrachten Sie den folgenden Code:

for(int i=0, j=0 ...
Nach dem Login kopieren

Dies initialisiert zwei ganzzahlige Variablen (i und j). Ist es möglich, stattdessen ein int und ein char in diesem Initialisierungskörper zu definieren?

Die Antwort: Nein, aber...

Technisch gesehen gibt es einen Workaround, wenn auch unkonventionell:

for(struct { int a; char b; } s = { 0, 'a' } ; s.a < 5 ; ++s.a) 
{
    std::cout << s.a << " " << s.b << std::endl;
}
Nach dem Login kopieren

Hier definieren wir eine Struktur, die sowohl ein int als auch ein char enthält. Die for-Schleife initialisiert eine Instanz dieser Struktur und erhöht dann das int-Mitglied innerhalb des Schleifenkörpers.

Obwohl diese Problemumgehung die technischen Anforderungen erfüllt, ist es erwähnenswert, dass von diesem Muster aufgrund seiner potenziellen Verwirrung generell abgeraten wird und mangelnde Klarheit im Vergleich zur Verwendung separater Variablen.

Das obige ist der detaillierte Inhalt vonKönnen Sie Variablen unterschiedlichen Typs in der Initialisierung einer C-For-Schleife deklarieren?. 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