gpt4 book ai didi

c - 如何修复段错误 11 错误?

转载 作者:太空宇宙 更新时间:2023-11-04 06:58:03 26 4
gpt4 key购买 nike

<分区>

我希望主要返回“dati”中出现“mdl”的位置。我设置了“模式”函数来查找每次出现的起点,但是当我从命令行运行程序时,它返回:

Segmentation fault: 11

我不知道如何解决这个问题。这是代码:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>

int schema(int testo[], int nT, int modello[], int nM, int primo) {

int i, j, k;
static int r[12];

j=0;
for(i=primo; i<nT; i++) {
if(testo[i] == modello[0] && testo[i+1] == modello[1] && testo[i+2] == modello[2] && testo[i+3] == modello[3] && testo[i+4] == modello[4] && testo[i+5] == modello[5] && testo[i+6] == modello[6] && testo[i+7] == modello[7]) {
r[j] = i+1;
j++;
}
}

return *r;
}



int main(int argc, char** argv) {

FILE *in;
FILE *out;

int i, m;
const int n = 100;
int dati[n];
int *soluzione;
int start;

if ((in=fopen("dati.txt", "r"))==NULL){
return -1;
}

for(i=0; i<n; i++) {
if (fscanf(in, "%d", &dati[i]) < 0){
fclose(in);
return i;
}
}

int mdl[] = {0,0,0,1,1,1,0,1};
m = sizeof(mdl)/sizeof(mdl[0]);

*soluzione = schema(dati, n, mdl, m, start);

for(i=0; i<12; i++) {
printf("- risultato[%d] = %d\n", i, soluzione[i]);
}

//out = fopen("risultati.txt", "w");
//...

fclose(in);

return 1;
}

我必须使用该函数来查找事件,我不能使用其他方法。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com