我正在尝试随机化一个变量,然后尝试在我想要使用的函数中使用它。但是,当我将随机变量放在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
时,没有任何错误。但是,我想循环,以便为每个写入函数提供不同的数据。
任何建议都将不胜感激。
答案 0 :(得分:3)
r
是循环的局部变量,在循环外部不可见。要在循环之前修复此位置的声明(float r;
)。
答案 1 :(得分:3)
r的范围仅在for循环内。在循环之前声明它,你会很高兴。