-6

我正在尝试随机化一个变量,然后尝试在我想要使用的函数中使用它。但是,当我将随机变量放入下面的 for 循环中,并且当我在我想要的函数中使用它时,它会给我错误。

#include <stdlib.h>
#include "time.h"

void main (void) { 
  for (int i = 0; i < 4; i++) {
    srand( time(NULL )); 
    float r;
    r = rand()*1000;
  }

  write(abc, r);
  read(abc, r);
  write(xyz, r); 
  read(xyz, r);
} 

因此,当我从 for 循环中使用 r 时,我收到以下错误:

In function 'void sim()':
'r' was not declared in this scope

但是,当我r从 for 循环中删除时,没有任何错误。但是,我想要 for 循环以便为每个写入函数提供不同的数据。

任何建议,将不胜感激。

4

2 回答 2

3

r is a local variable for the loop and it is not visible outside of the loop. To fix this place its declaration(float r;) before the loop.

于 2013-05-22T20:45:38.483 回答
3

The scope of r is only inside the for loop. Declare it prior to the loop, and you'll be good to go.

于 2013-05-22T20:46:22.903 回答