若有定义:char *p1,*p2,*p3,*p4,ch;则不能正确赋值的程序语句为( )
A.p1=&ch;?scanf("%c", p1)
B.p2=(char*)malloc(1);?scanf("%c", p2)
C.p3=getchar()
D.p4=&ch; *p4=getchar()
出自:国家开放大学程序设计基础