0
char* lw;
if((lw=(char *)calloc(2, sizeof(char))==0)) 
   printf("Failed to allocate.\n"); 
else 
   printf("allocated %p\n", lw);

calloc のマニュアルを読みましたが、迅速で簡単な回答が必要です。なぜ NIL を出力するのですか? それはelseに行くので、lwはおそらくNILになることはできず、「割り当てられた(nil)」を出力しますか?神の手?;)

4

1 に答える 1

2

lwに割り当てているのでcalloc(...) == 0、これはfalseです。あなたはそれを逆にしたい

に置き換え==0))ます)==NULL)

于 2011-09-15T13:22:59.773 に答える