【发布时间】:2014-02-11 18:43:05
【问题描述】:
我在这段代码中不断遇到分段错误:
#include <stdio.h>
void FillArray(int *array, int);
#define MAX 256
int main()
{
int *array[MAX], size = 100;
FillArray(*array, size);
return 0;
}
void FillArray(int *array, int size)
{
int i, temp;
for (i = 0; i < size; i ++)
{
temp = (rand()%101);
*array = temp;
printf ("array[%d]. %d\n", i, *array);
array += i;
}
printf ("AJGIUEROGUSHFDJGJDFK/n");
}
我把 printf 放在最后一行,这样我就可以判断它是否会达到那个点,到目前为止还没有。
编辑:我添加了代码。我必须使用指针算法而不是数组索引。
【问题讨论】:
-
int *array[MAX]是MAX指向int的数组,您可以从中将第一个传递给函数。 没有定义ints,后者指向。 -
(P.S. it's in C)-- 你标记了问题C,在标题和帖子本身中提到了C code。哇! -
啊,那是我自己的愚蠢
-
开启编译器编译器警告。阅读它们。这本来很容易找到。
-
现在做作业了吗? :P
标签: c pointers segmentation-fault