为什么这段代码不会运行。我释放了太多的记忆来帮助它。
/* Code */
#include <stdio.h>
#include <stdlib.h>
int main ()
{
malloc(99999999999999999999999999999999999);
printf("Hello World");
getch();
return 0;
}
答案 0 :(得分:8)
您要求的功能,getch(),在我尝试使用这些标头的任何平台上都不存在。我相信你的意思是getchar()。
至于那种荒谬的内存分配,很有希望它会返回零。还要注意因为整数太大,它不适合寄存器,所以即使你得到一个指针它也不会像你想象的那么大。
无论如何,这个版本&#34;为我工作&#34; (TM)。
/* Code */
#include <stdio.h>
#include <stdlib.h>
int main ()
{
malloc(99999999999999999999999999999999999);
printf("Hello World");
getchar();
return 0;
}