66问答网
所有问题
若由整型指针变量p和整型数组a,则p++和a++都是合法的。
变量p为指针变量,若p=&a,下列说法不正确的是().A:&*p==&a B:*&a==a C:(*p)++==a++ D:*(p++)==a++
此题中,D错在那里?
举报该问题
推荐答案 2019-09-05
A:&*p==&a ——
B:*&a==a ——取a地址里存放的值,不就是a嘛
C:(*p)++==a++ —— *p相当于a,都是对值的相加,当然相等.
D:*(p++)==a++ 把a的地址自加了,然后取值,和a自加后的结果进行对比,比如指针p指向的下一个空间里存储的是20,但p指向的控件存储的是10,那么*(p++)就是20,和a++也就是11相比,自然不正确.
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://66.wendadaohang.com/zd/nnxD9nUs2U2nnnUnpii.html
相似回答
设有定义:int a[10],*p=a; 为什么
p++合法,
而a--不合法,请详细说明
答:
这无法“详细”
,一句话就解决了:a是数组名,也就是a[0]的地址&a[0],就像声明一个变量i一样其地址&i是不可变更的;而p是自定义的一个指针变量,程序员想让它指向哪个同类型的变量都可以……
对于int*p;int a[];
p
=a;的
合法
运算是什么?
答:
A错误
。类型不对,++p是int*,a[1]是int。B正确。dup++只改变了p这个指针的值,并没有改变p指向的地址的值。C错误。int[]类型不允许++操作。D错误。int[]类型不允许++操作。例如:++p; 相当于 a[1] 。准确表达是 ++p 指向的地址是 &a[1]; 因为前面 有 p=a; 即初始,让p指向了 a ...
...*p;
p
=a; printf("\n*a=%d\n",*a); printf("
++
(*
答:
数组a是指针常量没错,,所以像a=p,a++,等这样的表达式都是错误的
,常量没法进行赋值和应算。而指针应算则是c的一个重要特征,如果变量p是指向某个指定类型的变量的指针,那么表达式=p+1代表访问下一个变量的内存地址,因此,像p+i,p++等这样的表达式就是正确的。在这里,你已经将a的首地址赋值...
常用
指针
运算包括
答:
指针自增1,即指针指向的位置向后移动一个元素
。例如:对于一个指向整型数组的指针p,p++将指向数组的下一个整数。5、指针的自减运算 指针自减1,即指针指向的位置向前移动一个元素。例如:对于一个指向整型数组的指针p,p--将指向数组的上一个整数。6、指针的间接引用运算 指针可以通过*运算符来...
求助C语言大神。
指针
问题。如果*P=&
a,
*
P++和
*(P++)怎么计算,表示什么...
答:
P=&a是错误的,只能是int *p=&a才对,*是int的不是
p的
,*p意思是“取p指向的值”。如果a=3,那么*
P++的
值3,然后p=p+1。*(
P++
)的效果与*P++一样。因为
++的
结合性是从右至左的,所以有没有()是一样的。
C语言中 *(
p++
) p++ *
p++ ++
*p (*p)++ 分别是什么意思
答:
(*p)++ 由(tip2)可知,p先与*结合,得到*p 是*
p与
++结合
,变量是
*p 得出结论:(*p)++ //是指针所指地址中的数据值在增加 (不同点)小结:因为(tip1、tip2)可得出:1.指针所指地址自增
p++
等同于*(p++)
++p
等同于*(++p)2.指针所指地址中数据自增 ++(*p)等同于++*p...
大家正在搜
请定义一个指向整型变量的指针变量
给整型变量的值赋值给整型指针
定义p为指向整形数据的指针变量
指向整型变量的指针
通过指针变量访问整型变量
指针变量的值是可以改变的吗
可以给指针变量赋值一个整型数据
指针和指针变量
字符变量可以赋值指针变量吗