Re: 我寫QuickSort來測試 可是為什麼出現這訊息
※ 引述《nighter (@______________@)》之銘言:
: [Session started at 2005-10-28 03:01:28 +0800.]
: Test2 has exited due to signal 11 (SIGSEGV).
: Test2是我用Xcode 取的Project名稱
: ===我的code (輸入在main.c裡)====
: #include <stdio.h>
: #include <stdlib.h>
: #include <math.h>
: #include <time.h>
: void __qsort( double *data, int num);
: void swap( double *, int, int );
: int main()
: {
: int num = 20, i;
: double data[ 20 ] = { 1.2, 1.3, 1.21, 1.6, 4.7, 0.8, 5.3, 7.1, 2.5, 2.5
: , 3.3, 0.4, 1.6, 2.0, 9.9, 21.3, 2.4, 7.7, 10.2
: , 13.2 };
: data[ num ] = HUGE_VAL;
是不是這個問題我不知道,不過
陣列的算法是從 0 開始,你的 data 陣列宣告大小為 20
所以可存取範圍為 data[0]-data[19] 共20個空間
也因此 data[num(20)] 不在 data 的存取範圍內
: __qsort( data, num);
: printf("\n\n");
: for( i = 0; i < num; i++ )
: {
: printf("%f\n", *( data + i) );
: }
: return 0;
: }
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.248.161.34
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
MacDev 近期熱門文章
PTT數位生活區 即時熱門文章