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

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

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

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

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

int *p 是定义一个指针,p=&a ,p指向a的地址,*p=a, *指针名 是指取该指针所指地址中的内容, &a 为a的地址,&*p=&a,p中放的为a 的地址

0 *p是取值的 *p=&x 是定义一个指针变量p 这里的*不是和后面的*不一样,不是取值的,是定义指针变量的

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

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