【发布时间】:2020-12-24 07:27:04
【问题描述】:
我不明白函数中的错误在哪里。我需要打印 2 个带有随机元素的数组。
int *boo3(int *x , int n){
x = (int*) malloc(sizeof(int)*n);
int i;
for(i=0;i<n;i++){
x[i] = rand()%10-(rand()%10);;
printf("%5d ",x[i]);
}
printf("\n");
}
int main(int argc, char *argv[])
{
int *x ,*y;
int n , m;
int i,j;
printf("enter size of X[n]: ");
scanf("%d",&n);
printf("enter size of Y[m]: ");
scanf("%d",&m);
x=boo3(*x,n);
y=boo3(*y,m);
free(x);
free(y);
return 0;
}
【问题讨论】:
-
只需在
boo3函数中执行 return x 即可 -
通常您的编译器应该告诉您
boo3中没有返回值。如果你没有得到那个,你应该调高警告级别。对于 GCC,您可以使用-Wall -Wextra来实现。 -
如果你赶时间,那么请开始关注编译器诊断信息!
-
请阅读Under what circumstances may I add “urgent” or other similar phrases to my question, in order to obtain faster answers? - 总结是这不是解决志愿者的理想方式,并且可能会适得其反。请不要将此添加到您的问题中。