、 设有数组定义:char array[10]= "China";则数组

、设有数组定义:chararray[10]="China";则数组array所占的存储空间为________。A)4个字节B)5个字节C)6个字节D)10个字节请选择->... 、 设有数组定义:char array[10]= "China";则数组array所占
的存储空间为________。
A) 4个字节 B) 5个字节
C) 6个字节 D) 10个字节
请选择-> A B C D

2、 下面程序的输出结果是________。
main()
{ int a[]={1,8,2,8,3,8,4,8,5,8};
printf("%d,%d\n",a[4]+3,a[4+3]);
}
A) 6,6 B)8,8
C) 6,8 D)8,6
请选择-> A B C D

3、 如有定义语句int a[]={1,8,2,8,3,8,4,8,5,8}; ,
则数组a的大小是________。
A) 10 B) 11
C) 8 D) 不定
请选择-> A B C D

4、 下面程序的输出是________。
main()
{int a[10]={1,2,3,4,5,6,7,8,9,10};
printf("%d\n",a[a[1]*a[2]]);
}
A) 3 B) 4
C) 7 D) 2
请选择-> A B C D
展开
 我来答
成小檬
2011-05-17 · 超过21用户采纳过TA的回答
知道答主
回答量:109
采纳率:0%
帮助的人:39万
展开全部
B 一个字母占一个字节
C 数数就知道了
D C语言中数组不赋值,后边默认为0
C 从里往外边算
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友4e109ce
2011-05-28
知道答主
回答量:18
采纳率:0%
帮助的人:7.4万
展开全部
1、选D。
应为数组array[10]在定义时是10个长度,这样,在编译的时候内存就已经给数组array分配了10个长度的空间,这里是char型,即为10个字节。就算你没用完剩下的内存,这个数组依然会占据10个字节的内存空间的。
2、选C。
数组的下标是从0开始的。所以a[4]=3,所以a[3]+3=6,a[3+4]就为a[7]=8.
3、选A。
在定义数组时如果不指定数组的长度而直接赋初值,系统会根据初值的长度来确定该数组的长度。
4、选C。
a[1]=2,a[2]=3,于是a[1]*a[2]=2*3=6.
所以a[a[1]*a[2]]=a[6]=7。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
DawN_frank
推荐于2018-05-10
知道答主
回答量:21
采纳率:0%
帮助的人:28.8万
展开全部
第一题 D :因为已经定义了含有10个元素的数组arry[10],所以系统会开辟10个连续的储存元, 因为是char型,所以会储存空间为1*10个字节。(float型会是4*10个字节,double会是8*10个字节)后面系统会自动赋值'\0'即0;
第二题 C :a[4]+3=3+3=6;a[4+3]=a[7]=8;
第三题 D :如果仅仅只是a的话是它是一个地址变量,说它的大小应该是指它储存的地址。它储存的是的数组第一个数即a[0]的地址;而a[0]的地址可以在在C++中可以用以下代码找到
#include <iostream>
using namespace std;
int main()
{
int a[]={1,8,2,8,3,8,4,8,5,8},*ps;
ps=a;
cout<<ps<<"and"<<&a[0];
return 0;
}
运行后发现ps储存的的地址和a[0]的地址是一样的,而指针ps是指向数组a的地址,所以数组a储存地址为a[0]的地址。但是a[0]的地址是系统分配的,所以是不一定的,即a储存的地址也是不一定的。
第四题 C:a[a[1]*a[2]]=a[2*3]=a[6]=7;
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
宾恩l
2011-05-17
知道答主
回答量:8
采纳率:0%
帮助的人:1.4万
展开全部
我感觉第一题应该选择D,因为定义好后意味着这个存储空间已经被占用了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式