C语言字符串二维数组char q[][10]="aaa","bbb","ccc"

q[][10]="aaa","bbb","ccc"他们是怎么表示。q[0][1]代表的是a还是aaa?每行每列对应分别代表哪个。q[0][1]代表的是a还是aaa?q[0... q[][10]="aaa","bbb","ccc" 他们是怎么表示。 q[0][1]代表的是a还是aaa? 每行每列对应分别代表哪个。q[0][1]代表的是a还是aaa? q[0][10]呢 ,求大神画出来看看。。。新手小白真不懂 展开
 我来答
金色潜鸟
2017-12-29 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5913万
展开全部
char q[][10]= {"aaa","bbb","ccc"}; 要有花括号。
char q[][10] 声明 q 是2维字符数组,第一维大小待定,第二维大小是10。
也可以理解 q 是 字符数串 数组,每个字符串长度不超过10,数组大小待定
花括号 {"aaa","bbb","ccc"} 这段东西表示初始化q数组。 它决定了 第一维大小 是 3。
等于 声明了 char q[3][10]= {"aaa","bbb","ccc"}; 有3个字符串,分别是"aaa","bbb","ccc".
语句中 q[0][1] 代表了数组的一个元素, 第0行第1个,现在存放的是一个字符 'a'.
语句中 q[行号][列号], q[0][0],第0行第0个元素 'a',q[1][0],第1行第0个元素 'b',
q[2][0],第2行第0个元素 'c'.
语句中 下标从0起算,所以最大下标是 q[2][9]. 这个元素初始化时未给具体字符,所以清空了。
printf("%s ", q[0] ); 打印第0行字符串,输出 aaa. (格式是 %s)
printf("%s ", q[1] ); 打印第1行字符串,输出 bbb.
printf("%s ", q[2] ); 打印第2行字符串,输出 bbb.
printf("%c ", q[i][j] ); 打印第 i 行 第 j 列 的 一个字符。 (格式是 %c)
DigoM
2017-12-29 · TA获得超过569个赞
知道小有建树答主
回答量:460
采纳率:63%
帮助的人:302万
展开全部
首先纠正一下,文中所给的叫字符串数组,不是字符串二维数组,因为c语言中没有字符串变量,所以用字符变量表示一串字符,这就是字符串,而很多字符串组成的数组就叫字符串数组,例如q[3][10]表示有3个字符串,每个字符串最多可占用10个字节,也就是行标为个数,列标为最大字节数,而q[0][1]表示第0个字符串的第1个字符,这个和二维整型数组一样,文中q[0][1]='a',为了容易记住,口诀如下,记住列表示字符串最大长度,简记列车长
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
White_MouseYBZ
2017-12-29 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6973万
展开全部
你的C/C++数组概念要好好加强一下。char q[][10]="aaa","bbb","ccc"——这是错误的,编译都过不了,应该是char q[][10]={"aaa","bbb","ccc"};。q[0][1]是一个字符元素,怎么可能是aaa?肯定只能是a(就是aaa中的第二个a);这个数组每行只有10个字符,最大下标是9,哪儿会有q[0][10]?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
听不清啊
高粉答主

2017-12-29 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:2亿
展开全部

q[0][1]代表的是第二个a。

q[0][10]是没有的,越界了。

追问
想问下,为什么q[0][10]没有呀? 他不是可以看成‘\0’吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式