A-A+
以下程序段完全正确的是()。A.int * p;scanf(”%d” &p);B.int*p
问题详情
以下程序段完全正确的是()。
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;的左端tpt是指针所指内存空间的值,&k是地址,应为P=&k。因此C选项正确。