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); 可...

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;

c正确。

28p=q;*p=*q;n=*qp=n可以看出p和q是普通变量,n是指针变量,所以p=n是错误的。*p=&n 指针*p取变量n的地址*q=p 指针*q用变量p的数据作为地址29float fun(int x, int y){return(x+y);}main() {int a=2,b=5,c=8; printf(%3.0f\n, fun((int)fun(a+c,...

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就对了

int *p,m=5,n;//n没初始化,试试int *p,m=5,n=0; p=&n; scanf("%d",*p);

D a是整型数, int *p,*q定义了指针, p,q是指向整型的指针。 p取得a的地址,而q取得p的地址 p,q是指针(也就是一个地址),而*p和*q是这个指针指向的整型数值(存放在这个地址的值)。 A)把q的地址赋给p,则p和q完全一样了,都指向一个数2 B)...

这个,不在于 *p=b;还是*p=a;,关键是之前的语句 p=&b;也就是让p指向了变量b,但是B中,没有让p指向某个变量,也就是p是个野指针,语法上虽然没错,但是实际执行的话,有风险的

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