我正在 Linux 上开发一个在矩阵上运行的程序。我在一段代码中遇到问题,该代码生成矩阵的随机值(它会生成段错误)这是触发我的问题的一段代码。
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#define INFINITO 10
#define MAX 11
#define MR 100
#define MC 100
#define MEMBER 1
#define NONMEMBER 0
double shortpath(double MatQuad[][MR+MC], int, int ,int precede[]);
int main(){
int d;
int c1, c2, i, j, p , h, l, k, x, mrr, rf, cf;
double X[MR][MC], F1k[MR+1][MC];
double MatQuad[MR+MC][MR+MC];
double P[MC][MC][MC];
int precede[MR+MC];
double best_Delta, Delta;
int best_i, best_j, best_h, best_l;
srand(8);
for(j=0; j<MR; ++j){
for(h=0; h<MC; ++h)
X[j][h]=(rand()% MAX)*0.1;
}
使用 Valgrind,我在线获得
srand(8);
错误信息:
访问不在地址 0x7FE7EA0B8 [PID: 2484] 的映射区域内
您认为语义或......有什么问题吗?我想给 srand 一个系统时钟所取的值,但我的尝试没有成功。