问题
单项选择题
以下程序段完全正确的是( )。
A.int *p;scanf("%d",&p);
B.int *p;scanf("%d",p);
C.int k,*p=&k;scanf("%d",p)
D.int k,*p;*p=&k;scanf("%d",p)
答案
参考答案:C
解析: 选项A)错在没有对指针进行初始化,无效指针,并且在scanf("%d",&p)中无需再进行取地址操作。选项B)没有对指针进行初始化,无效指针。选项D),语句*p=&k;的左端*p是指针所指内存空间的值,&k是地址,应为p=&k。