我试图搜索此问题,但无法解决。我尝试使用struct和union,但是我认为使用的不正确。
我想在另一个函数中使用数组result
randomNum()
的成员。最好的方法是什么?
这是我的一些代码:
void randomNum()
{
int i;
int result[10];
int x[10];
int y[10];
for ( i=0; i<11; i++)
{
x[i]= 100+rand()%100;
y[i]= 80+rand()% 90;
result[i] = ( -2*(x[i]) ) + ( 5*(y[i]) );
printf("Fitness = %d \n" , result[i]);
}
}
我想在此功能中使用
result[10]
:void thebest()
{
printf("Fitness = %d \n" , randomNum.result[2]);
}
最佳答案
您不能从函数外部访问局部值。相反,请尝试在最后将randomNum
更改为return result[2]
,并将签名中的void
更改为int
。
或者,可以将result
用作thebest
函数内部的变量,然后将其传递给randomNum
进行填写,然后可以将其从thebest
用作常规数组。
但是,从randomNum
函数返回您感兴趣的特定项目可能是最简单,最干净的解决方案。
另外,在调用randomNum
时,请不要忘记括号:randomNum()
而不是使用点。
关于c - 请求成员“结果”不是结构或 union ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27118700/