为什么这个代码(C)不会运行

时间:2014-05-14 02:23:41

标签: c memory

为什么这段代码不会运行。我释放了太多的记忆来帮助它。

/* Code */

#include <stdio.h>
#include <stdlib.h>

int main ()
{
    malloc(99999999999999999999999999999999999);
    printf("Hello World");
    getch();
    return 0;
}

1 个答案:

答案 0 :(得分:8)

您要求的功能,getch(),在我尝试使用这些标头的任何平台上都不存在。我相信你的意思是getchar()。

至于那种荒谬的内存分配,很有希望它会返回零。还要注意因为整数太大,它不适合寄存器,所以即使你得到一个指针它也不会像你想象的那么大。

无论如何,这个版本&#34;为我工作&#34; (TM)。

/* Code */

#include <stdio.h>
#include <stdlib.h>

int main ()
{
    malloc(99999999999999999999999999999999999);
    printf("Hello World");
    getchar();
    return 0;
}