C代码随机化

时间:2013-05-22 20:43:23

标签: c

我正在尝试随机化一个变量,然后尝试在我想要使用的函数中使用它。但是,当我将随机变量放在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

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

任何建议都将不胜感激。

2 个答案:

答案 0 :(得分:3)

r是循环的局部变量,在循环外部不可见。要在循环之前修复此位置的声明(float r;)。

答案 1 :(得分:3)

r的范围仅在for循环内。在循环之前声明它,你会很高兴。