单项选择题

有以下程序
#include <stdio.h>
main() {
int n,*p=NULL;
*p=&n;
printf("Input n:");
scanf("%d",&p);
printf("output n:");
printf("%d\n",p);
}
该程序试图通过指针p为变量n读入数据并输出,但程序有多处错误,以下语句正确的是()

A.int n,*p=NULL;
B.*p=&n;
C.scanf("%d",&
D.printf("%d\n",;