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;sliderNuminta[]={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++) {
// ...
}
}