Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 是否可以在for循环中使用数组?_C_Arrays_For Loop - Fatal编程技术网

C 是否可以在for循环中使用数组?

C 是否可以在for循环中使用数组?,c,arrays,for-loop,C,Arrays,For Loop,这是我目前的代码: int sliderNum; // Variable Declaration // // Loop Sequencer // for (sliderNum = 41; sliderNum <= 48; sliderNum = sliderNum + 1) int sliderNum;//变量声明// //回路定序器// 对于(sliderNum=41;sliderNuminta[]={1,4,7,10}; 对于(int i=0;i您甚至可以将数组按字面意思放入for

这是我目前的代码:

int sliderNum; // Variable Declaration //

// Loop Sequencer //
for (sliderNum = 41; sliderNum <= 48; sliderNum = sliderNum + 1)
int sliderNum;//变量声明//
//回路定序器//
对于(sliderNum=41;sliderNum
inta[]={1,4,7,10};

对于(int i=0;i您甚至可以将数组按字面意思放入
for
循环定义中。这样,它有点类似于Python中常见的“with”语句:

#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++) {
        // ...
    } 
}
#定义数组#LEN(a)(sizeof(a)/sizeof(*a))
int main()
{
对于(inta[]={73,71,34,46,52,4,17},i=0;i

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

我认为你应该发布更多的代码,并告诉我们你想要实现什么。应该将“each”改为“an”或“any”。就个人而言,我总是使用
sizeof(*a)
,这样我就不必“选择任意索引”(当然这都是语义)。是的,数组可以解决它。正如谚语中的“间接级别”通常所做的那样。我发现这段代码非常不可读。在循环之前声明数组可以解决这一问题。它还应该声明为
const
#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++) {
        // ...
    } 
}