【发布时间】:2018-10-21 01:41:24
【问题描述】:
{
int *v;
int i=0;
int n;
int j=0;
int aux=0;
File *fp;
fp = fopen("Inteiros.txt", "r"); /*opening a file and read it*/
if(fp == NULL)
printf("Erro, ficheiro nao encontrado!\n");/*portuguese sentence*/
else
while(!feof(fp))
{
fscanf(fp, "%d", &v[i]);
i++;
}
for(i=1; i<n; i++)
{
for(j=0; j< n-i-1; j++)
{
if(v[j] > v[j+1])
{
aux = v[j];
v[j] = v[j+1];
v[j+1] = aux;
}
}
}
比给了我“分段错误”错误,我不知道为什么。 我知道它是我无法访问的一段内存,但我不知道错误在哪里。
【问题讨论】:
-
您需要向我们展示其余的代码,在其中声明变量等。
-
@PedroRocha 你需要为
int *v分配一些内存,它只是一个指针 -
n未初始化,导致未定义行为 -
尝试更改
int *v->int v[10]和int n;->int n=10;
标签: c macos segmentation-fault bubble-sort