为什么C程序员经常声明"计数器" for循环条件之外的变量:

时间:2018-01-25 23:06:00

标签: c

我是C的新手,我认为无论怎么做都没有任何区别,但我注意到在大多数示例中,for的循环都是如下例所示:

int i;
for(i = 0; i < 10; i++){
   //some code
}

而不是我最初如何在Java中引入for循环:

for(int i = 0; i < 10; i++){
    //some code
}

C背后有什么理由吗?

1 个答案:

答案 0 :(得分:14)

  1. 旧c标准不允许在for中声明变量,因此许多程序员习惯使用它,而其他程序员仅限于预先C99()标准。

    但像我这样的年轻c程序员会写for (int counter ...,甚至经常构造像

    for (int index = 0; string[index] != '\0'; ++index) ...
    
  2. 有时候,这只是因为算法要求它。例如,如果您需要知道上面示例构造中index的最后一个值是什么。这是遍历字符串字符的常用方法。