单项选择题

下列程序段中,不能正确赋值的是()。

A) char*p,ch;
p=&Ch;
scanf("%c",&p);
B) char*p;
p=char*)malloc(1);
scanf("%c",p);
C) char*p;
*p=getchar();
D) char*p,ch;
p=&ch;
*p=getchar();