17.若有说明:int *p,m=5,n;以下正确的程序段是

来源:百度知道 编辑:UC知道 时间:2024/09/21 07:57:25
A)p=&n;scanf("%d",&p);
B)p=&n;scanf("%d",*p)
C)scanf("%d",&n);*p=n;
D)p=&n;*p=m
;
d哪里错了

A p本身就是地址,所以&p错误
B p本身就是地址,输入函数参数是地址,所以*p错误
C p没有指向任何一个变量,所以不能赋值
D 对

D没有错呀,ABC是错误的,C中P的地址没有,怎么就能使用呢

D没错~~相当正确

C.scanf(“%d”,&n); *p=n ; p无初值
D是正确的

原式等同于int *p=5;int m=5;int n;
所以*p!=n