www问答网
所有问题
当前搜索:
指针可以相加减吗
c语言int a[10],*p=a+6,*q=a;下列哪种运算是错误的?A.p-q B.p+3 C...
答:
c标准定义,
指针
的算术运算只限于2种形式,指针+或-整数,指针-指针。这是标准定义的,所以p+q是错误的。p-q是计算两个指针在内存中的距离。此时应该等于6;p>q,因为p的地址在q的后面,所以此表达式为真。
C语言
指针
变量为什么不
能相加
答:
指针
变量实际上是一个地址,两个地址
相加
得到的还是地址。然而,这个地址是不确定的 如果使用可能会出错。所以两个地址相加没有意义而且存在危险,不要让两个指针(地址)相加。
c语言选择题。。。会的来。。
答:
已知char *p,*q;选择正确的语句()A.p*=3 //这个就只能理解为p=p*3,
指针
只允许
加减
操作 B.p/=q //指针之间不能互相乘除 C.p+=3 //p=p+3,正确 D.p+=q; //只允许指针和常整数之间的加减 所以:答案是c 若有说明:int *p1,*p2,m=5,n;以下均是正确赋值语句的选项是(...
对于基类型相同的两个
指针
变量之间,不能进行的运算是 A) < B) = C...
答:
但
能
进行减法运算。还能用‘<’、‘>’、‘==’这三个运算符进行比较,主要用于判断
指针
指向数组元素的先后位置。
可以
比较谁的位置在前,谁的位置在后,就是谁是低地址,谁是高地址,一般来说,对数组才有可能用到如 p1=&s[0] ,p2=&s[5];那么p1在p2之前,p1是小于p2的。
C语言p和s不是
指针吗
,咋还能
相减
?
答:
指针
也是整数编号,也是
可以
进行运算的。计算机内存就好比是一个有编号的抽屉,每个小单元(字节)都有编号,从0开始到最大内存数。程序需要访问哪个内存,就得告知计算机在哪个编号。题中p一开始指向字符首地址,经过while后指向字符串末尾,
相减
就是字符串的长度。字符串是存在连续的内存空间,所以可以这么...
两个
指针
变量不能( ) 选择一个答案 A.
相加
B.
相减
C. 比较 D. 指向...
答:
A.
相加
,其实不是不能,而是没有意义 B. 相减,是可以的,比如一个
指针
指向字符串的开始,另一个指针结尾,
相减可以
得到字符串的个数 C. 比较,是可以的,可以比较是不是相等,也可以比较谁大谁小 D. 指向同一地址,不用解释了,当然可以 ...
指针
变量类型不同
能相减吗
答:
如果两个
指针
变量都指向同一个数组,是
可以相减
的,它们的差两个指针的间隔,其他相减都不可以
c语言中
指针加减
问题,求解答。
答:
这不是与p+3-p=12矛盾,而是,这个等式本来就不成立好不。学
指针
的时候会有点糊涂,这个很正常。你把两个东西混淆了:数组的下标和实际的地址。float类型的指针,在地址上来说的确是按4字节为单位移动的,但是在数组里面还是一格一格一栋栋饿啊,这个一格的单位是4字节。p+3-p,你等式左边的算法...
两个相同的
指针
变量能不
能相加
!为什么?
答:
假设p1值也就是N1位置起始值为1234,P2为2345,这个时候如果直接相加得到的数据3589有可能已经超出了内存最大值或者指向某个无意义的内存地址,所以
指针相加
没有意义可言。正确的应该是N1和N2相加才是合理的算数运算。3、
指针可以相减
,可以和立即数加或减,是有意义的,是允许的。比如我想知道N1和N2...
两个指向同一个数组的
指针相减
的问题
答:
p1-p2等于下标差,而不
能
乘 sizeof(int),C语言就是这么规定的,因为
相加
也是这么规定的:p1+1 就是p1数组的下一个单元,所以,
相减
仍是这样的。
<涓婁竴椤
1
2
3
4
5
6
7
8
9
10
涓嬩竴椤
灏鹃〉
其他人还搜