2017-01-05 5 views
-1

Das ist mein Code:Ist es möglich, ein Array innerhalb einer for-Schleife zu verwenden? wie es steht

int sliderNum; // Variable Declaration // 

// Loop Sequencer // 
for (sliderNum = 41; sliderNum <= 48; sliderNum = sliderNum + 1) 

Allerdings muss ich diese nicht von 41 mehr zählt so die Schleife ändern - 48 sondern zählt zB 73,71,34,46,52,4,17 etc. Also nach dem anderen einen bestimmten Satz von Zahlen eins, aber nicht wie normal zu zählen ..... hoffe das macht Sinn.

Wie Sie wahrscheinlich sagen können, bin ich ziemlich neu zu diesem Programmieren Zeug, so dass jede Hilfe sehr geschätzt werden würde.

Prost.

+0

Ich denke, Sie sollten mehr Code posten und uns sagen, was Sie erreichen möchten –

Antwort

8
int a[] = {1,4,7,10}; 

for(int i=0; i<sizeof(a)/sizeof(a[0]); ++i) 
{ 
....process a[i] 
} 

Ich empfehle ein gutes Buch über .

den Code Bezug: Dieses über ein Array ist im Grunde Looping mit iterations = size in bytes of the array/size in bytes of an element of array

+1

Sollte "jeder" zu "an" oder zu "any" ändern. Persönlich verwende ich immer 'sizeof (* a)', so dass ich nicht "einen beliebigen Index wählen muss" (das ist natürlich alles semantisch). –

+4

Ja, ein Array löst es. Wie das sprichwörtliche "Level of Indirection" normalerweise tut. – StoryTeller

+0

Danke für die Bearbeitung @StoryTeller .. ** Barak-Manos ** – coderredoc

1

könnten Sie legen sogar das Array buchstäblich innerhalb der for Schleife Definion. Auf diese Weise ähnelt es etwas „mit“ Anweisung, die gemeinsam in Python ist:

#define ARRAY_LEN(a) (sizeof(a)/sizeof(*a)) 

int main() 
{ 
    for (int a[] = {73, 71, 34, 46, 52, 4, 17}, i = 0; i < ARRAY_LEN(a); i++) { 
     // ... 
    } 
} 

Persönlich würde ich nicht einen solchen Code auf die Produktion schreiben, da sie als „zu klug“ in Frage gestellt werden kann, während die Umsetzung Array an der Spitze der Schleife scheint es lesbarer zu machen.

+3

Ich finde diesen Code ziemlich unlesbar. Das Array vor der Schleife zu deklarieren würde das lösen. Es sollte auch als "const" deklariert werden. – Lundin

Verwandte Themen