前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数组习题讲解3

数组习题讲解3

作者头像
用户6755376
发布2019-12-31 17:35:07
3100
发布2019-12-31 17:35:07
举报

以下程序运行后,输出结果是( )

代码语言:javascript
复制
main()
{
  int a[4][4]={{1,3,5},{2,4,6},{3,5,7}};
  printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]);
  }
  1. 0650
  2. 5430
  3. 输出值不定
  4. 1470

以上程序可以贴进去直接运行,程序运行还不会操作的 看这里

这是一道数组基本知识题,这是一个4行4列的数组,定义的并赋初值。数组下标从0开始,即第一行第一个元素是a[0][0],第四行第四个是a[3][3]

赋初值的时候,大括号{}里面又有3对{},对应3行,还有一行没写出来默认都是0 。每行是4个,但是 {}里面不够4个,后面缺的也是0 。相当于:

代码语言:javascript
复制
int a[4][4]={  {1,3,5,0},
               {2,4,6,0},
               {3,5,7,0},
               {0,0,0,0}    };

延伸:

如果定义数组时候行数没有写,int a[][4]={{1,3,5},{2,4,6},{3,5,7}}; 那 {} 里面有3对{},对应3行,

这个数组相当于 int a[3][4] = { {1,3,5,,0}, {2,4,6,0}, {3,5,7,0} };

我们也会经常遇到这样的情况:int a[][3]={1,3,5,2,4,6,3,5,7}; 我们知道{}里面有9个数,每行3列,刚好是3行。如果{} 有10个数呢,11个数呢?

2017年上海市二级C语言就考了这样一道题目:

设有定义:int a[][3]={1,2,3,4,5,6,7,8,9,10}; 则数组a第一维的大小是:(______)

A.3

B.4

C.5

D.有语法错误,不能确定

题目很简单,3行放不下就4行,5行就多一行浪费了。很多同学以前看到的都是恰好整除算出来行数,看到这样的就一愣,要犹豫一下。4行够用恰好,缺的2个元素默认是0 。

如果是char类型的数组,没写的默认值是 '\0' (ASCII表上第一个,编号为0)。

如char a[6] = {'1','3','5',' ','0'};

相当于char a[6] = {'1','3','5',' ','0','\0'};

也相当于char a[6] = {"135 0"};或者char a[] = {"135 0"};

char a[7] = {'1','3','5',' ','0'}; 和上面几个就不等价了,因为这个后是2个 '\0',长度不一样。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-12-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 计算机二级C语言 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档