当时,我的老棋友、围棋社社长是数学系的学生。他们系里开设了C语言课程,学校要求数学系二年级学生必须过高校计算机二级(难度高于“全国二级”)。他建议我也考一考,所以我就向他借了一本谭浩强的书来看。我不是数学系的学生,没机会听课,只能自学,这个数学系学生也会稍稍辅导我,差不多两三次,就一会儿的时间,最有用的只有一句话:只要把“函数”和“指针”这两章搞懂,这本书就差不多会了。我就靠这本书自学了两个月,一周大约自学五六小时,其中上过两次机,按键都找不准。后来,距等级考试两三周的时候,我把那本书搞丢了,还有两章未读。有一次跟朋友逛书店,顺便就买了老谭的书,朋友不解问我,都要考试了,还买书干嘛。看完书就考试了,没想到我的笔试和机考都拿了个对文科生来说还算不错的成绩(80几,70几),混了张证书。
我那个数学系朋友却没有考过,完全是运气问题。机考那天,他就坐在我旁边。他的机考遇到一道题,要求写一个函数,从一堆宏定义的变量中,求出次最大的数。谭浩强的书只有求最大数的方法,老师的课也是这么教。我那朋友一时傻了,转过来问我怎么办。我想了想告诉他,求两次最大,先把最大的变量找出来,然后赋上另一个数值,再求一次最大,这时找出来的变量就是次最大了。他照办了,运行的时候,程序一样打出一个三角形数字阵。可是,本来三角形的直角应当在左边,可他打出来的却是在右边。当时大家都没在意什么。
中午和他一起吃饭,我忽然想起,修改了宏定义变量,其他他函数调用这些变量的时候,会不会出问题。他听我这么一说,有恍然大悟之状,说:“完了,程序崩溃了!”我向他道歉,安慰了他几句。现在我依稀记得,成绩发榜的时候,他的机考成绩是零分。