gpt4 book ai didi

c - 在C中,为什么 "int MAX = 10^6...int arr[MAX]"不会崩溃,但 "int MAX = 1000000...int arr[MAX]"会崩溃?

转载 作者:行者123 更新时间:2023-11-30 19:57:57 27 4
gpt4 key购买 nike

我目前正在使用 C 并遇到了一些我觉得有趣的东西,但似乎在这里找不到任何类似的东西。

我正在为数组(大小 1000000)静态分配内存。我知道这相当大并且有可能引起问题。但是,使用 10^6 不会出现任何问题,而 1000000 会导致崩溃,可能是由于尺寸过大。我想知道如果我继续使用 10^6 是否会出现任何限制。

int main() {
int i, n, MAX = 10^6; //change 10^6 to 1000000 to cause crash
int highest, newHighest, lowest, profit, newProfit;
int arr[MAX];

return 0;
}

我已经确认我的代码在第 4 行崩溃。任何信息将不胜感激。

谢谢

***编辑分号

最佳答案

int i, n, MAX = 10^6 //change 10^6 to 1000000 to cause crash;

这个10^6不是你想象的那样。 ^ 运算符是 c 中的按位异或。10^6 不是 1000000

如果你打印 10^6 它等于 12 ,并且没有理由崩溃。

关于c - 在C中,为什么 "int MAX = 10^6...int arr[MAX]"不会崩溃,但 "int MAX = 1000000...int arr[MAX]"会崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34714326/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com