時我需要一些幫助,我找不到任何相關的搜索。代碼不起作用。但是在調試
所以我正在寫一個C程序和一些奇怪的事情。我的程序崩潰時,我正常運行但當我調試它,它工作正常。我不知道發生了什麼事。
這是一個任務,它是在星期三,所以我嚇壞了一點。
(我使用的代碼塊IDE,如果這是任何幫助。)
編輯: 很抱歉沒有從一開始就張貼此,我想這個問題可能已經使用調試器錯誤或不得不改變了我調試器設置(如果甚至可能的話)。 下面是接縫會導致問題的功能:
double **makeMatrix(struct graph *head, char **nodes)
{
double **tmpMatrix=NULL;
int i=0, j=0;
struct graph *tmp=NULL;
if(nodes==NULL || head==NULL)
return NULL;
for(i=0; nodes[i] != NULL; i++);
tmpMatrix=calloc(i+1, sizeof(double*));
if(NULL==tmpMatrix)
{
printf("No Memory!");
return NULL;
}
for(j=0; j<i; j++)
{
tmpMatrix[j]=calloc(i+1, sizeof(double*));
if(NULL==tmpMatrix[j])
{
printf("No Memory!");
return NULL;
}
tmpMatrix[j][i] = -INF;
}
for(i=0; tmpMatrix[i] != NULL; i++)
{
for(j=0; tmpMatrix[i][j] != -INF; j++)
{
tmpMatrix[i][j] = INF;
}
}
for(tmp=head; tmp->fromNode >=0; tmp= tmp->next)
{
tmpMatrix[tmp->fromNode][tmp->toNode] = tmp->length;
printf("%f\n", tmpMatrix[tmp->fromNode][tmp->toNode]);
}
return tmpMatrix;
}
的任務是寫一個程序,它能夠讀取節點和圖形計算shortes路徑。哪裏有Dijkstra算法來解決這個問題。這就是爲什麼我們必須創建一個矩陣來存儲邊的長度。
此外,使用調試器,我一步一步地執行它。
請向我們顯示您的代碼。 – Rndp13
對於任何人來說,沒有太多的信息可以幫助你。見[問]。 –
Wellcome to StackOverflow。爲了我們可以幫助您,請考慮發佈一些代碼,崩潰點,消息輸出,日誌文件,... – Trimax