2017-01-05 42 views
-1

这是我的代码,因为它代表:是否可以在for循环中使用数组?

int sliderNum; // Variable Declaration // 

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

不过,我需要不再计数从41改变此循环 - 48但之后,但不另计,而不是如73,71,34,46,52,4,17等,所以特定组数字之一像通常计数.....希望是有道理的。你可能会说,我对这个编程的东西很新,所以任何帮助将不胜感激。

干杯。

+0

我认为你应该发布更多的代码并告诉我们你正在努力实现什么 –

回答

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

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

我推荐咨询关于的好书。

关于代码:这基本上是遍历数组与iterations = size in bytes of the array/size in bytes of an element of array

+1

应该将“each”改为“an”或改为“any”。就个人而言,我总是使用'sizeof(* a)',这样我就不必“选择一个任意的索引”(当然这全是语义)。 –

+4

是的,数组解决了它。正如谚语中的“间接水平”通常所做的那样。 – StoryTeller

+0

感谢编辑@StoryTeller .. ** barak-manos ** – coderredoc

1

你甚至可能把数组字面for循环definion内。通过这种方式,它有点像“与”语句,这是常见的Python:

#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++) { 
     // ... 
    } 
} 

就个人而言,我不会对生产写出这样的代码,因为它可能会被质疑为“太聪明”,而把循环顶部的数组似乎使其更具可读性。

+3

我觉得这段代码相当难读。在循环之前声明数组可以解决这个问题。它也应该被声明为'const'。 – Lundin

相关问题