55问答网
所有问题
c语言,假设有语句int a[10]={1,2,3},*p;p=a;则p++完全等价于a++。这句话为什么是错的?
如题所述
举报该问题
推荐答案 2021-11-12
如题所讲,a代表的是数组的首地址,它的值是不可以更改的,a只能表示数组首地址。所以a++本身就是不允许的。
p是一个指针,可以把数组首地址赋值给指针,指针的值是可以改变的,所以p++是没问题的。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://55.wendadaohang.com/zd/I8IF8GQeIFI4cFeQLRL.html
其他回答
第1个回答 2021-11-12
c语言
,假设有语句int a[10]={1,2,3},*p;p=a;则p++完全等价于a++。这句话是错的,是因为a是一个
常量
地址,表示a[0]的地址。所以a++是不可以执行的。
而p是一个指针变量,先p=a;然后再p++是完全没有问题的。本回答被提问者采纳
相似回答
??
设有
int
a[10], *p=a ; 则
下面哪条
语句
有错误( )。
答:
答案:D对于数组
a[10],a
就是该数组的首地址,定义指针p赋值为a,那么a和p的操作基本相同:a[5
]=p
[5]=*(a+5)=*(p+5),对于D选项,p[5]是个
int
值,再取*就不对了。
设有语句int
a[10],*p=a;,则
下面的语句中不正确的是
答:
前三个赋值语句都是正确的。选项D是错误的
,a是
数组,只能对数组元素赋值,要有下标。选D。
设有语句
:
int
a[10]={
0
,1,2,3,
4,5,6,7,8,9
},
i
,*p=a;,
答:
答案是D,D的正确形式应该为:*(a+i)前面多了个星号。A:a[0]B: a[i]C: p[i]
设有
以下
语句,则
()不是对a数组元素的正确引用,其中0<=i<
10
答:
int
a[10]={
0,1,2,3,4,5,6,7,8,9
}, *p=a;
相当于 int a[10]={0
,1,2,3,
4,5,6,7,8,9};int
*p;
//定义p为执行int的指针变量
p = a;
//a为数组名,代表数组的起始地址 A、p的值是一个地址(数组a的起始地址),所以p-a = 0,那么a[p-a]相当于a[0]B、a[i]...
C
++
急~~~
答:
1. 若有
int
i
=10,
j=0;则执行完语句if (j=0) i
++;
else i--;I 的值为11。 ( )错误,因为执行的是else的
语句
2
. 若i为某函数func之内说明的变量,则当func执行完后,i值无定义。( )正确,因为局部变量在执行完成后就没有定义了,如想保留值,用static来定义
3
.
一
个可执行的C++...
大家正在搜
设有定义语句 int a
c语言char是什么
c语言a+=a-=a*a
若有定义语句 int a
static c语言
c语言i++和++i
c语言!是什么
语句int *p;说明了
void在c语言中什么意思
相关问题
C语言问题
设有语句int a[10],*p=a;,则下面的语句中不正确...
c语言 ,指针问题,设已有定义,int a[10] ,*p;...
C语言的问题
c程序设计语言的问题
设有下列程序段:int arr[10]={1,2,3},*p...
设有 int a[10]={1,2,3,4,5,6,7,8,...
c语言问题 简单~在线等~