有以下程序:#include main(){int n,* p=NULL;* p=&n;printf("input n:");scanf("%d",&p);printf("outpub n:");printf("%d\n",p);}该程序试图通过指针p为变量n读入数据并输出,但程序有多处错误,以下语句正确的是( )。
A. int n,*p=NULL;
B. * p=&n;
C. scanf("%d",&p)
D. printf("d\n",p);
若有语句:char * line[5];,以下叙述中正确的是( )。
A. 定义linc是一个数组,每个数组元素是一个基类型为char的指针变量
B. 定义linc是一个指针变量,该变量可以指向一个长度为5的字符型数组
C. 定义linc是一个指针数组,语句中的*号称为间址运算符
D. 定义linc是一个指向字符型函数的指针
若有以下说明和定义fun(int *c){ }void main(){int (*a)()=fun,*b(),w[10],c;…}在必要的赋值之后,对fun 函数的正确调用语句是( )。
A. a=a(w)
B. (*a)(&c);
C. b=*b(w)
D. fun(b);