SeqList?
seqlist *L; 只是聲明了一個指向seqlist的指針,L只是一個指針,在32位系統中它是一個32bit 的地址而已,你在程序中沒有對該地址進行初始化是十分危險的,該地址可能隨機指向一個保存重要數據的內存。因此scanf("%d",&L->data[i]);這個語句是錯誤的,而且十分危險。故當程序執行到該語句時將會崩潰。簡單修改了一下你的程序
//////你應該還是初學者吧,多看看一些編程規范,例如google的 C++編程規范。你的短短幾行代碼問題太多了,例如宏定義最好放在最前面,并且為了區分宏定義最好全部大寫#define n 8這個語句是十分危險的,因為你后面的代碼中可能出現n變量被宏定義替代的情況。