首 页 行业热点 新车 试驾评测 养车用车 车型库

c语言指针数组

发布网友 发布时间:2022-04-20 17:24

我来回答

5个回答

热心网友 时间:2023-09-26 05:28

首先说,这道题出的有问题。但是也只有A错的最明显
A)p = a //a相当于二维指针,将它的值赋给一维指针p这是错误一,其次是数组赋值不能直接用等号,这是错误二。
B)q[i]=a[i] //这相当于将a[i][0]的起始地址赋给q[i]虽然数据不正确,但是可以强制通过
C)p=a[i] //这是唯一正确的使用方法,是将数组a[i][0]的起始地址赋给一维指针p
D)q[i]=&a[2][0] //这个是100%的错误,只有当定义int *q[4]时,才可以用这样的赋值方式,这个连编译都不能通过。

热心网友 时间:2023-09-26 05:28

0<=i<4
int a[4][10],*p,q[4];
题目应该是 “下列正解赋值的是:”
B q[i]是一个int类型的a[i]是地址,,类型不匹配,错
C p是int指针a[i]是行指针错
Dq[i]是int类型&a[2][0]是地址,不匹配,错
p,a都是地址可以直接赋值对的
选择A追问可是 我老师书上写的是
等等 你看看

热心网友 时间:2023-09-26 05:28

题目应该是 “下列正解赋值的是:”

热心网友 时间:2023-09-26 05:29

二维数组相当于二级指针,*p=p[],**p=p[][],所以A错了。
至于其他的都是取数组的首地址,所以没问题。

热心网友 时间:2023-09-26 05:30

我怎么觉得b d也不对。。。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com