问题
单项选择题
若说明int*p,n;则通过语句scanf能够正确读入数据的程序段是( )。
A.p=&n;scanf("%d",&p);
B.p=&n;scanf("%d",*p);
C.scanf("%d",n);
D.p=&n;scanf("%d",p);
答案
参考答案:D
解析: 函数scanf的地址列表应由变量的地址组成。选项A中虽然&p也为地址,但它是指针变量p的地址,该地址的存储单元中只能存放地址值,不能存放整型数据。选项B中*p相当于变量n,所以不能正确读入数据;选项C不正确,因为n为变量名;选项D中p为指针变量,并且值为变量n的地址,所以选项D能够正确读入数据。D为所选。