Tritt in for-Schleifen der Wert 0 jemals ein?

5 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Ja, beim ersten Durchgang. i wird als 0 definiert und in jedem Durchgang inkrementiert (um 1 erhöht). Demzufolge gilt im ersten Durchgang i = 0.

LG

In dem Fall hier wär i=0 für die 1. Schleife immer, da i erst am Ende der Schleife erhöht wird 

EDIT: 



for(int i=0; i<10; i++)
std::cout << i << std::endl;


Ist das gleiche wie


{
int i = 0; // For loop initializer
while (i < 10) // For loop condition (and the actual loop)
{
std::cout << i << std::endl; // For loop body
i++; // For loop post-expression
}
}





Zusatz: i++ heißt ja, dass i zuerst abgerufen wird (ist null) und dann erst erhöht wird 

++i heißt, dass i zuerst erhöht wird und dann abgerufen wird 


i=0
y=i++ 
i=1, y=0

i=0
y=++i
i=1 y=1




Die Inkrementierung beeinflusst den Zustand von i erst am Ende des Durchlaufs, egal ob sie post- oder preinkremental ausgeführt wird. Im ersten Durchlauf hat die Variable den Wert, mit dem sie initialisiert wurde.

1

Du kannst die For-Schleife auch umschreiben:

int i = 0;
while(i < 10){
//Code, der wiederholt wird
i++;
}

Gleich im ersten Durchlauf ist i = 0 - erst am Ende der Schleife wird i inkrementiert (wenn du es nicht im auszuführenden Code veränderst)

Was möchtest Du wissen?