9

C 不是我的第一语言,但我已经写了很多。我正在检查一个代码,我遇到了一个我以前从未见过的结构:

loop(i,nlevels)
{
  /* do stuff based on "i"  */
}

没有doforwhile。"i" 在循环内没有作用。我认为这意味着从 0 到 nlevels(或者可能是 nlevels-1)依次循环“i”,但我不知道。我在 K&R 中找不到这个。我在互联网上找不到它。有人可以启发我吗?谢谢。

4

3 回答 3

17

loop肯定是有人定义的宏,因为它不是 C 语言的一部分。

搜索一个#define loop.

于 2013-01-22T19:22:21.887 回答
14

这个宏可能在某处定义:

#define loop(index, steps) for(int index = 0; index <= steps; index++)

或者一个看起来非常相似的

于 2013-01-22T19:22:57.470 回答
4

循环是某个地方的#defined 宏吗?这似乎是一个很简单的宏,有人可能想要这样做。

于 2013-01-22T19:22:43.093 回答