このコードは「失敗」と表示されますが、-1を0に置き換えると、NULLにはなりません。0メモリスペースを割り当てる方法がわかりません。役に立たないことはわかっていますが、NULL == 0Lではないので、==0にする必要があります。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int *ptr;
if((ptr = malloc(-1)) == NULL)
printf("unsuccessful: no memory space was allocated.\n");
else{
printf("successful: memoryspace was allocated. \n");
free(ptr);
}
getch();
return 0;
}