大家晚上好呀,今晚终于挤出一点时间跟大家分析一下那个日期了,因为明天我就要润了,回家上网课,准备期末,之后可能到一月八号这段时间可能都不能按时更新了。好的,废话不多说啦,开始分享我自己对代码的理解。

首先,先回顾一下那个题目,题目很简单,就是输入月份,然后输出这个月份的英文。

关于那个输出日期_输出日期

然后看我自己终于苟出来的代码。

关于那个输出日期_输出日期_02

关于那个存放12个月份的字符串数组,一开始我是用char然后定义一个数组的,然后就报错了,报错的原因是初始值太长,如图

关于那个输出日期_指针数组_03

因为char字符数组,是单个字符的,存字符串就不太行,会报错。所以我们用指针数组,开辟一个大空间来存放这些月份,然后指针的作用就是辅助我们等等输入一个数字,把这个数字赋给i,再通过地址i找到这些月份。就像我上面的代码那样,

printf("%s",*(p+i));  //%s,是输出字符串呀,不要忘记这个,我曾经有写过。

然后*(p+i)就是找数组的第几个元素,因为p是指向首地址的也就是0,然后0+2就是2,找下标是2的元素,然后输出,但是却输出了“March”为什么呢?

因为呀,我们忘记啦,数组元素是从0开始的,然后我们下标是二的话,0,1,2自然就是“March” 啦,所以减去1就好啦

关于那个输出日期_输出日期_04

好啦,今天的分析,就到这里啦,我们下次见,晚安。