如图这个二维数组只有五个元素,是不是全都赋给第一行呢,然后下面的循环只有一个方括号不是代表行地址吗,那其他行不都是0吗,自学c语言概念有点混淆,希望解答一下谢谢

一个c语言二维数组初始化的问题
如图这个二维数组只有五个元素,是不是全都赋给第一行呢,然后下面的循环只有一个方括号不是代表行地址吗,那其他行不都是0吗,自学c语言概念有点混淆,希望解答一下谢谢
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
关注
这段代码中,char a[5][10] 是一个二维字符数组,它包含 5 行 10 列,即 5 个字符串,每个字符串最多包含 9 个字符(最后一个字符为字符串的结束符 '\0')。因此,该数组在定义时就已经为每个元素分配了内存空间,不是所有的元素都被赋值为 0。而且只有前 5 个元素被初始化了,它们分别为 "china", "beijing", "you", "tiananmen", "welcome"。其他元素没有被初始化,它们的值是不确定的。
循环中,i 控制外层循环的行,j 控制内层循环的列。循环遍历了 a 数组中的所有元素,对于每一对 a[i] 和 a[j],如果它们的大小关系不正确,就通过 strcpy 函数交换它们的位置。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用