2016-05-21 4 views
3

Einstellung ich etwas Mühe habe zu verstehen, wie eine while-Schleife verwenden, um die gleichen Ergebnisse wie diese for-Schleife zu erhalten:Mit while/do-while-Schleifen für Array-Element

for (int i=0; i<N; i++){ 
    int datum[i] = 0; 
} 

Grundsätzlich zu setzen all Elemente im Array-Datum [N] bis 0. Macht der folgende Code in dieser Hinsicht Sinn, oder fehlt mir etwas? Danke

int i = 0; 
while (i < N){ 
    datum[i] = 0; 
    i++; 
} 
+0

Nein du bist nicht :) Aber für die erste Schleife, warum 'int'? Du kannst 'datum [i]' nicht neu deklarieren. – Rakete1111

+0

Initialisiere sie auf Null mit 'int Datum [N] = {0};' wäre im Allgemeinen besser zu üben. –

+0

@ScottStainton: ['int-Datum [N] = {}' macht logischeren Sinn] (http://stackoverflow.com/q/14797810/560648) in C++. –

Antwort

3

Diese beiden Codebeispiele führen zu den gleichen Ergebnissen.

int i = 0; 
while (i < N) 
{ 
    datum[i] = 0; 
    i++; 
} 

for (int i=0; i<N; i++) 
{ 
    datum[i] = 0; // remove int because you will be redclaring datum 
} 
2

Sie entweder nicht von ihnen. Wenn Sie datum erklären, tun Sie dies wie folgt aus:

std::vector<int> datum(N); 

Erledigt.