55问答网
所有问题
main() {int a[10]={1,2,3,4,5}; printf("%d\n",a[6]);}输出的结果是啥,为啥????
如题所述
举报该问题
推荐答案 2010-12-03
运行结果为0
LZ可以在编程软件中,如visual C++,中可得到该结果。
因为a[10]是一个数组,从0开始赋值,第0个数,即a[0]为1,第1个数a[1]为2,依次类推,a[4]=5,
而a[5]之后到a[9]没有给它赋值,它只好为0,可以理解为1楼所说的初始化,也可理解为相当于为假。
不过,要注意,若说要输出a[10],已经超出这个数组的大小,或者理解为越界,运行结果是一个莫名其妙的数。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://55.wendadaohang.com/zd/F4FRGLFLR.html
其他回答
第1个回答 2010-12-03
int数组在初始化赋值时候是没有赋值就补0,顺便说下char型的话是补'\0'
第2个回答 2010-12-03
是0
在初始化时,没有初始化的数据值为0
相似回答
main()
{ int
a[10]={1,2,3,4,5,6,
7,8,9,10
},
*p=a
;
printf(
〃
%d
\n...
答:
(p+2)就是先把P指向的地址后移两个单位,P初始化指向a数组首地址,后移两个单位后即
a[2]=
3
;
...
main()
{int
a[10]={1,2,3,4,5,6,
7,8,9,10
},
*p=
&a[
3
],
*q=p+2...
答:
【答案】:B 解析:本题定义了一维数组a和两个指针变量。指针变量p的初值为第4个数组元素的地址,指针变量q的初值为,第6个数组元素的地址。*p+*q=4+6
=10
。
int
a[]={1,2,3,4,5};
int *p=a;
printf(
"
%d
\n",*p
);
为什么
结果
是1呢...
答:
p此时也指向
a[1]的,
*p
=2;
main()
{int
a[10]={1,2,3,4,5,6,
7,8,9,0
},
*p; p=a
;
printf(
"%x\n",p...
答:
printf("%d\n",p);//
输出
的是第一个元素a[0]的地址,怎么可能是2呢?printf("%d\n",p+9);//输出的是第一个元素a[9]的地址,怎么可能是4呢?//元素地址由操作系统管理,这个值不确定。
main()
{int
a[10]={1,2,3,4,5,6,
7,8,9,0
},
*p; p=a
;
printf(
"%x\n",p...
答:
结果是两个地址值(以十六进制显示出来),其中第一个是a[0]的地址,因为*p
=a[
0], p
=&a[
0], 即指针p指向的是数组a的首地址(即a[0]的地址)。望采纳
大家正在搜