若有下列定义和语句,刚对a数组元素的非法引用是 pt=a
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/06 05:14:12
定义数组时用的是常量表达式,而引用数组元素时可以使常量还以是整型表达式
不能表示a数组元素的表达式是(B)a[10])----因为数组a的最大下标只能是9,即a[9],a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],一共
A答案:就是w[0][2],合法B答案:就是w[2][0],下标越界,不合法C答案:就是w[0][0],合法D答案:就是w[1][2],合法
答案为C:对于二维数组,在声明时必须指定二维数组第二维的数量,因此,只有C是正确的对于A和D都不能确定二维数组第二维是多少.
这是个错问题呀………………
答案是C解决这类题型首先要分清类型.A错,虽然p的类型是(int**),a的类型是(int**),但是数组名代表的地址也不能改变.B错,因为p[0]的类型是(int*),a的类型是(int**).C对
D)绝对不正确;A)不完整B)正确C)正确说明B、C正确是经过测试的.
C语言没有多维数组,只有多个一维数组的嵌套.举个例子给你讲吧a[3][3]={1,2,34,5,67,8,9}其实是3个一维数组a[0]={1,2,3};a[1]={4,5,6};a[2]={7,8,
这里所说的不能加减是指这样:a=p+2;这种形式的,而不是图上那种.举个简单的例子:constinta=2;a是一个常量,你不能改变其值.但是intb=a+2是正确的.指针同样理解.再问:你的意思是不
选择:D数组下标从0开以,最大下标是定义的数组长度-1下标值不能是浮点数只能是[]而不能是()
额看错了如果用二维数组名作实参和形参,在对形参数组声明时,必须指定第二维(即列)的大小,且应与实参的第二维的大小相同.第一维的大小可以指定,也可以不指定.
正确答案是:D*&a[5]就是a[5],下标越界了*a就是a[0],a[0]+2不是对数组元素的正确引用同理,*(p+5)就是a[5],下标越界了而*(a+2)就是a[2]
A选项错误的原因是数组a的取最大值的表达式是a[3][2],B表示第一个元素,C表示第三行第三列的元素,D表示同p[1][1];
A.数据类型不可以是double没这规定!B.数组名可以选C的保留字C的保留字不允许做变量名、函数名!C.长度是一个任意的整型表达式长度需要大于0D.一个数据定义语句中不可以定义数据类型不同的多个数组
指针变量pt指向a数组!*pt相当于a[0];*(pt+1)相当于a[1];*(pt+1)[2]相当于*(pt+3);*(pt+3)等价于a[3];显然a[3]不存在!所以选项B非法!
选C.p的类型是int(*)[3],是指针的指针.C选项相当于p[1][1].B选项错,它相当于p[2][1],数组的第一个坐标越界了.
选A,因为数组的下标是从0开始的,所以正确的引用是a[0~1][0~3],超过这个范围会提示数组越界
D显然是a[5]就越界了.a是因为对p+5的地址进行解引用的出来的不知道是什么哦再问:答案是C,A怎么错了能具体说下吗再答:p是指针它的地址加5的话只是他的地址加了变成了别的内存单元而和原来p指向的内
C中N是变量,D中N是常量!再问:但是C中N也是2008啊。是不是定义的时候一定要常量的?再答:静态数组的长度一定是常量!因为在你定义一个数组时电脑就要在内存中为该数组分配你所需要长度的空间了,但如果
选择D,这是一个二维数组指针的问题.