Bootstrap

代码丛中窥人世——C语言杂感

一、条件判断 这世间本没有绝对的真假,直到人发明了if语句。那些个花括号里的判决,竟比衙门里的惊堂木还威严三分。你看那else子句,像极了市井里耍把式的艺人,总要在if老爷表演罢后,才敢怯生生地溜出来讨口饭吃。三目运算符倒是伶俐得紧,活脱脱茶馆里见风使舵的茶博士,把个条件式写得比"茴字四样写法"还要花哨。只是须当心,嵌套过深便成了九曲回廊,教后来者找不着北,倒不如学那鲁镇的短工,直来直往方是正道。
二、循环往复 for循环最是刻板得可爱,初值、条件、增量三件套,倒像是孔乙己柜台上永远温着的黄酒。那while循环却似未庄的驴子,蒙着眼转磨盘,总要等到条件耗尽才肯罢休。break原是叛逆的种子,偏要在循环的牢笼里凿个窗;continue倒像闰土手里的钢叉,总在紧要处岔开去。最可怖是死循环,分明是阿Q画不圆的圈,在内存的荒原上永世游荡。
三、数组春秋 数组这等物事,活脱脱是未庄的咸亨酒店,各色人等按号入座。下标从零开始,倒比赵太爷家的排场还讲究。二维数组横竖成格,分明是鲁镇祠堂的族谱,行行列列都透着森严。字符数组最是苦命,总要拖着个’\0’的枷锁,像极了祥林嫂念叨着阿毛。可怜那些越界的访客,踏碎了邻家的门槛,却浑然不知惹下多少段错误。
四、字符串怨 printf与scanf这对冤家,一个巧舌如簧尽显人前,一个垂眉低目暗收后账。strcpy这等莽夫,只管横冲直撞,哪管得目标数组哭天抢地。strcat倒似老好人,把两个字符数组硬凑作堆,全然不顾会否撑破肚肠。最是strcmp阴险,将两个串儿比来较去,倒比科举放榜还较真三分。那些个格式说明符,活脱脱是衙门里的师爷,把变量的心意曲解得面目全非。
五、文本江湖 文件指针游走于文本江湖,fopen时须得报上门户(“r"或"w”),倒比孔庙拜师还郑重。fgets像鲁镇的更夫,兢兢业业逐行巡视;fscanf却是偷儿,专挑格式匹配的油水。EOF好比未庄的暮色,总在不经意间笼住整个程序。缓冲区溢出最是骇人,分明是华老栓的人血馒头,教那程序咳出segmentation fault的血来。
这代码世界看似冰冷,细观之尽是人间百态。if-else里藏着礼教吃人的獠牙,for循环中映着千年未变的轮回。数组排列着森严等级,字符串捆扎着世态炎凉。吾辈编程,岂止摆弄符号?实是在这0与1的荒原上,照见整个吃人的旧社会。只是须记得,纵使语法无误,若逻辑里带着人血馒头的气味,终究是要被core dump的。

;