若有说明;int *p,m=5,n;以下正确的程序段的是__D____. a)p=&n; b)p=&n; scanf("%d",&p); scanf("%d",*p); c)scanf("%d",&n); d)p=&n; *p=n; *p=m;
时间: 2024-06-01 21:08:29 浏览: 184
C程序的设计基础_复习题.doc
正确的程序段应该是 d) p=&n; *p=n; *p=m;
a) p=&n; 这行代码是正确的,将 p 指向变量 n 的地址。
b) p=&n; scanf("%d",&p); scanf("%d",*p); 这里有两个错误。第一,&p 是将指针变量 p 的地址作为输入,而不是将变量 n 的地址赋给 p。第二,*p 是解引用操作,它实际上是一个整数值,而不是一个指针。
c) scanf("%d",&n); 这行代码是正确的,将用户输入的值赋给变量 n。
d) p=&n; *p=n; *p=m; 这行代码是正确的,将 p 指向变量 n 的地址,并将 n 的值和 m 的值赋给 *p,也就是变量 n。
阅读全文