关于二维数组
为什么代码在17行输出的时候只需要一位索引值就可以导出这5个字符串呢?按我理解数据应该是存放在slogans、slogans、slogans、slogans、slogans这五个位置,因为不够100个所以全部存在内。
甲鱼老师在课里说二位数组是线性存放的,
如果对于char slogans
那我可不可以理解成slogans=slogans呢
但是我自己试了一下好像不能直接使用slogans这样的,不太理解老师代码的原理,麻烦大家帮忙看看。
#include <stdio.h>
#define NUM5
int main()
{
char slogans = {
"I love FishC.com!",
"Keep moving!",
"Impossible is nothing!",
"Just do it!",
"I am what I am!"};
int i;
for (i = 0;i < NUM ; i++)
{
printf("%s\n",slogans);
}
return 0;
} 本帖最后由 910201513 于 2019-4-18 23:10 编辑
char slogans
定义了一个字符串数组
例如:"I love FishC.com!"就是slogans
至于slogans是“I”
前面用的是char,定义了一个二维字符数组
众所周知,字符串就是一维的字符数组,所以可以将二维字符数组看成一维字符串数组
所以五个字符串的检索就是slogansslogansslogansslogansslogans
不可以理解slogans为slogans
这里的3和100分别类似于直角坐标系的xy轴,两个维度 910201513 发表于 2019-4-18 23:04
char slogans
定义了一个字符串数组
例如:"I love FishC.com!"就是slogans
按照线性理解的话,可不可以按下图这样理解呢 YiMingC 发表于 2019-4-18 23:18
按照线性理解的话,可不可以按下图这样理解呢
嗯嗯,可以这么理解 910201513 发表于 2019-4-19 07:58
嗯嗯,可以这么理解
好的,谢谢啦~ 学习了,谢谢
页:
[1]