tyzw.net
当前位置:首页 >> 若有定义int*p,n >>

若有定义int*p,n

A、scanf("%d",&n);*p=n; 错在*p = n, 因为p指向的空间为NULL,直接赋值n,会出错 B、p=&n;scanf("%d",*p); 错在scanf,因为是使用的是地址,应该是scanf("%d",p); C、p=&n;scanf("%d",&p); 同上,应该是scanf("%d",p); D、p=&n;scanf("%d",p); 可...

A的说法,就是p本质上是个数组,只不过数组中的每个元素都是指针 B的说法,就是p本质上是个指针,指针指向一个一维的数组 这种题的话,其实可以先根据运算符的优先级、结合性,先确定标识符本质上是一个什么,然后再去补充 例如,int *p[3],先...

答案选B。 样例程序如下: #include int main(){int *p[4];int a=1, b=2, c=3, d=4;int i;p[0]=&a;p[1]=&b;p[2]=&c;p[3]=&d;for(i=0; i

D是正确的 A,B中 p是n的地址 那么如果要输入n 应该是scanf("%d", p); C中 p还没定义 给*p赋值就是给一个没有开辟的地址赋值了 D是正确的 意思是p为n的地址,将p地址上的数变成m, 等价于n=m;

ABC都是对的,D是非法的,p是个地址,而n是个整形值,不能相乘; 可以改成*p*n;结果是4 自己在VC或者TC里面实验下就知道了

A B C都是对的 A p=q P和Q都为指针变量,让p指向q的地址 B *p = *q 让p指向地址的值 等于q指向地址的值 *取值符号 C n=*q; D p=n 不能这样写,p是指针变量,是代表地址,而n是值 写成p=&n就对了

p是指针,先指向a地址,后又改为指向b地址,*p = b; pp是指针的指针,它指向了p的地址,而p又指向b的地址, 所以**pp取两次值 就代表了b的值; *号意义不同: (1) 在定义时int **pp, *p ,表示定义的变量pp、 p为整型指针; (2)printf("%d,...

&p表示取一级指针p的地址

c正确。

p是指针变量. int *******p; 不管你写多少个 * 号 p 都是指针变量 这个变量存储的数据是 一个内存的地址

网站首页 | 网站地图
All rights reserved Powered by www.tyzw.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com