小径分岔的兔子洞

2025-03-19 第12周 星期三

08:49

看来前几天还是欠下了睡眠债,今天睡到八点都还是困得不得了。10:45 有个 assessment,苹果日历好像有点问题,文字上显示的是 10:45,视觉上却放在了接近12点的格子里,估计是因为冬令时调整的原因。要不是我看得仔细一点,差点错过了考试。

13:18

然而今天的 assessment 不太顺利。我在计算一个 string 的 size的时候,因为把 ‘\0’ 写成了 “\0”, 在这里卡了二十几分钟。后来我终于想起来,C 里面的 char 只能用单引号,string 的 null terminator 本质上也是一个 char,所以也不能用双引号。

修好这个之后已经快到时间了。我先把现在的代码 commit 了,然后再去 compile 试试看,结果还是失败,原因是找不到我写的两个 helper 函数。我猜是因为我把调用它们的那个函数写在了它们前面,然而这时老师已经站在我背后催我了,我也不熟悉怎么在 vim 里快速复制粘贴,就没来得及改。

结束后我问了下 Claude,果然,在 C 语言里,函数的定义顺序很重要,如果被调用的函数写在了调用它的函数后面,C 就找不到那个被调用的函数,就会 compile 失败。

总结下来,这两个问题其实都是因为我不熟悉语言之间的差异造成的。太习惯写 Python,就会有一些在 C 语言看来不好的习惯。在 Python 和 其它一些语言里,函数的声明顺序不重要,只要它们在同一个 scope 或者 module 里就可以。char 的符号也是,在 Python 里,单引号或双引号都可以。(严格地讲,Python 里并不存在单独的 char,每一个单独的字母其实只是长度为1 的string,所以才单引号双引号都可以)

催我的时候老师说,不用担心,这个不是autograder来打分,是真人阅卷。我猜他是暗示不会因为 compile 失败就得0分。那就好,希望不要扣太多分,毕竟我这个完成度已经非常高了,只需要改一些顺序而已。如果不扣太多分,这门课的 A 估计还能保住。

14:00

中午去吃了楼下一家咖喱猪排饭,昨天甄哥提到的,中午做完 assessment 之后,我和凯悦和大可就去吃了这家。量好足,全部吃完感到很撑。但我实在不习惯剩下食物,所以还是坚持吃完了。

15:05

学术论文是怎么养成的分栏的版式啊?分开两栏后,每一行只能放下十来个单词。学术论文里基本都是长句子,每个句子都要读四五行,这样不累么?这是不是纸质刊物时代遗留下的排版习惯? 吃完咖喱饭看了两个小时论文没挪窝。

20:00

今晚照那个米其林大厨的做法吃了辛拉面+韩式炸酱面,但我觉得把炸酱面换成芝士火鸡面更好吃,但热量应该会爆表吧。

22:48

我还挺喜欢自己录视频做 code walk 的。录视频的时候才发现自己在镜头前的语言和肢体语言有太多可以变好的地方。