當我輸入200000作為長變量的輸入時,C程序崩潰了,為什么?

對于下面的簡單代碼,每當我輸入值200000(或任何其他高值),程序就會崩潰:

    long size;
    printf("Enter the size of the array to be sorted: ");
    scanf("%ld",&size);

有人能告訴我為什么嗎?根據我的信息,長距離的范圍遠遠大于200000

TIA

編輯:前一段代碼后面是這些聲明。

int arrMerge[size];
int arrQuick[size];
int arrSelect[size];
int arrInsert[size];

當我對整個程序(除了上面的幾行)發表評論時,它崩潰了。給出了以下終止消息:

進程返回-1073741571(0xC00000FD)執行時間:2.419秒按任意鍵繼續。

? 最佳回答:

根據這個Microsoft文檔,狀態代碼0xC00000FD代表STATUS_STACK_OVERFLOW。由于堆棧溢出,您的程序失敗。

默認情況下,Windows程序的最大堆棧大小約為1 MB。如果輸入200000,那么variable-length數組將超過此限制,導致堆棧溢出。

您可能想考慮為堆上的數組分配內存,而不是堆棧,例如使用函數malloc。堆沒有只能分配最多一個兆字節的限制。它能夠存儲大量的數據。

主站蜘蛛池模板: 美女啪啪一区二区三区| 无码日韩精品一区二区人妻| 日韩A无码AV一区二区三区| 99久久国产精品免费一区二区| 中文字幕日韩精品一区二区三区| 波多野结衣在线观看一区 | 久久亚洲综合色一区二区三区| 欧美人妻一区黄a片| 精品人妻AV一区二区三区| 久久一区二区三区精品| 国产综合无码一区二区三区| 极品少妇伦理一区二区| 国产福利一区二区| 精品国产一区二区三区香蕉事 | 国产午夜精品一区二区三区小说| 午夜性色一区二区三区不卡视频| 精品深夜AV无码一区二区老年 | 日韩久久精品一区二区三区 | 国产一区二区电影在线观看| 一区二区三区伦理高清| 无码AV一区二区三区无码| 精品不卡一区中文字幕| 福利视频一区二区牛牛| 国产伦精品一区二区免费| 好吊视频一区二区三区| 亚洲综合无码AV一区二区 | 亚洲日韩一区二区三区| 国产精品一区二区久久精品| 精品国产福利一区二区| 少妇一夜三次一区二区| 精品国产一区二区三区免费看| 加勒比无码一区二区三区| 欧洲亚洲综合一区二区三区| 国产av一区二区精品久久凹凸| 精品国产福利在线观看一区 | 亚洲高清美女一区二区三区| 亚洲区精品久久一区二区三区| 国产精品一区二区不卡| 日韩在线一区视频| 好吊视频一区二区三区| 精品无码av一区二区三区|