以下はmalloc()で割り当てた領域を開放してポインタをヌルポインタにするマクロである

#define MYFREE(p) do {free(p); p = 0;} while(0)

このマクロに不備があるかないか、ある場合はどんな不備か答えよ
ただし処理系はANCI C準拠とし、stdlib.hがインクルードされていることとpが左辺値かつmallocで割り当てた領域を指す有効なポインタであることの2点は呼び出し側によって保障されているものとする