void load(int *n, double *x, double **arr, bool randomize)
{
*arr = (double*)malloc((*n + 1) * sizeof(double));
srand(time(NULL));
for(int i = 0; i <= *n; i++)
{
if(! randomize)
{
scanf("%lf", *arr + i);
}
else
{
*(arr + i) = rand();
}
}
}
基于randomize
参数,我想用随机或自定义双精度数来填充数组。但是,此代码不能编译,它在其他部分显示"invalid conversion from int to double"
。无法将双精度转换为双精度
替换rand()
与任何浮点值如5.0显示“不能将double转换为double”。
(double) rand()
或(double) 5
抛出类似的错误。
*n
当然是在这个函数的前面读到的,我只是把它剪掉了。
这里有什么问题?
呃,学习C指针和引用是相当富他妈的难;-)谢谢! – user2251921 2013-04-06 15:58:27
@ user2251921:不客气。顺便说一句,在C中的参考很容易 - 没有任何! ;-) – NPE 2013-04-06 16:21:50