77问答网
所有问题
int a[10],*p=a,*q=&a[5];q-p=
为什么答案是5
举报该问题
推荐答案 2020-04-27
因为指针p指向的是数组a的第1个元素,指针q指向的是数组a的第6个元素,
注意数组下标是从0开始的,所以q-p=5,希望能帮到你。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://77.wendadaohang.com/zd/Iv8vWNYNpqYqYqGWvW.html
相似回答
若有程序段“
int
a[10],*p=a,*q;q=&a[5];
” ,则表达式
q-p
的值是...
答:
p
取
a[
0]地址
,q
取
[5]
地址,两个相减得到距离5。
...= {1,2,3,4
,5,
};
int
*p = a;
int
*q = &a[5];
printf("%d", q...
答:
看看我下面的演示,你就知道那只是个巧合而已(5并不是数组里面的数字哦,两个地址差,16进制地址相减结果是0x14,换算成十进制就是20
,int
每个占4byte,所以20/4
=5
):
C语言指针问题
答:
数组在内存中是连续存储的,也就是说假设a的首地址(
a[
0]的地址)是1000,那么下一个元素的地址就是1000 + sizeof(
int
),以此类推,到5号元素,地址就是1000 + 5 × sizeof(int)了,所以,可能你理所当然认为
q-p
应该是
5
× sizeof(int) = 20 但是,事实上不是这样的,因为虽说指针本质...
C程序语言题目,计算机二级的,求解析~
答:
这玩意打字太不方便了,我用word给你吧
...= {1,2,3,4
,5,
};
int
*p = a;
int
*q = &a[5];
printf("%d", q...
答:
main(){ int
a[]
={1,2,3,4,
5
,6}
;int
*
p;p=a;
printf("%d "
,*p
); //数组a第一个元素是什么,是:1 printf("%d ",*(++p));//第2个元素是什么,是:2 printf("%d ",*++p); //第2个元素自增1是什么,是:3 printf("%d ",*(p--));//还是问第2个元素是...
...p=a;吗?为什么又可以用:
int
a[10],*p=a;
?
答:
指针声明的时候可以直接赋初值。例如
int
*p=q;
相当于int *
p;p=q;
C语言问题急于求解
答:
答:只有G和A对应的位置的字符相等 程序填充题 1、下列源程序将数组元素逆置,在程序画线处添上恰当的语句,使程序完整。. main(){
int
a[10]
={2,5,12,13,23,25,26,87,113,123},t
,*p,*q;p=
;q=a
+9;while(p<q){t=*p;
*p=
*
q;*q=
t;p++, q--;}//把q指针向前移一个...
大家正在搜
int a[10],*p=a;
int a[10]={10*1}
已知int a[10],*p=a
qt qint8转int
int a[10]
若有说明inta10 则对a数组
qatomicint
若有inta10则输出结果不为5
char str[10]
相关问题
若有程序段“int a[10],*p=a,*q;q=&a[5...
如int a[10][10]; int *p,(*q)[10...
int a[] = {1,2,3,4,5,}; int *p...
设有如下数据定义语句: int a[10],*p=a,*q=...
int a[10],*p=a,*q=a+9 中 *q=a+9...
int a[10]={1,2,3,4,5,6,7,8,9,1...
int a=5, *p, *q=&a; *p=q* 哪错了?
{ int a[10]={1,2,3,4,5,6,7,8,9...