qhnw.net
当前位置:首页 >> 在执行stAtiC int A[][3]={{1,2},{3,4}};语句后,A[1][2]的值是 >>

在执行stAtiC int A[][3]={{1,2},{3,4}};语句后,A[1][2]的值是

int a[][3]={{1,2},{3,4}} //你多了一个大括号2行3列,内大括号代表一行,列数不全的用0替,所以分别是:1 2 03 4 0 所以a[1][2]表示第2行,第三个值,为0

Ca的值为: 1 2 0 3 4 0

是等于4它被分为两行两列的数组a[1][1] 是最后一个所以就是4

static int b[5],a[][3]={1,2,3,4,5,6};”后,b[4]=0 ,a[1][2]=6

选c.首先根据题目的条件,a中一共有6个元素,a的第2维的大小是3,也就是说,a是一个2行3列的矩阵.对于二维数组,是先排满一行,再排一行的.也就是说,a的实际排列为 [1, 2, 3] [4, 5, 6] 所以,a[1][0]就是第2行,第1列的元素,为4.程序运行如下:

根据赋值内容,编译器自动确定数组为2维3列的数组 a[0][0]=1 a[0][1]=2 a[0][2]=3 a[1][0]=4 a[1][1]=5 a[1][2]=6 a[1][0]的值为4

a[1][2]值为6 不存在a[2][3],因为定义Static int a[3][3]下标范围是a[0][0]到a[2][2].按你的初始值对应的是:a[0][0]=1;a[0][1]=2;a[0][2]=3;a[1][0]=4;a[1][1]=5;a[1][2]=6;a[2][0]=7;a[2][1]=8;a[2][2]=9;

第一个是0,你不给出显式的初始化,编译器自动初始化为0第二个是6,由你的初始化可知道,他的行下标为2,就是个两行三列的矩阵了你可以用这个测试一下啊//C++版本的#include using namespace std;void main(){ static int b[5], a[ ][3] ={1,2,3,4,5,6}; coutvoid main(){ static int b[5], a[ ][3] ={1,2,3,4,5,6}; printf("%d\n",b[4]); printf("%d\n",a[1][2]);}

a[0][0] = 7 a[0][1] = 5 a[0][2] = 4 a[1][0] = 2 a[1][1] = 0 a[1][2] = 0

#include<stdio.h> main() {static int a[]={1,2,3,4},*p; p=a+1; printf("%d",*p); } p的值为2

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.qhnw.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com