问题 单项选择题

以下程序段完全正确的是( )。

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。

解答题
多项选择题