明德大學的秋夜帶著冰涼的濕意,像一層看不見的薄紗,無聲地籠罩著沉睡的梅園三號樓。
404宿舍里,靠窗的位置,趙明陽的鼾聲正以一個穩(wěn)定的頻率為宿舍打著低沉的節(jié)拍。
程曉菲的床鋪偶爾傳來幾聲模糊的夢囈。一切似乎都已沉入夢鄉(xiāng)的深潭。
唯獨靠門的上鋪,俞小舟的小天地里,還亮著一方小小的、執(zhí)著的光源。
筆記本電腦屏幕冷白的光線,如聚光燈般打在她慘白而緊繃的小臉上。
額前的碎發(fā)被細汗黏在皮膚上,眼鏡片后的雙眼布滿紅血絲,死死盯著屏幕上那個方方正正的黑色窗口——命令提示符。
光標在黑色深淵里規(guī)律地跳動著,下面是刺眼的猩紅文字:
error C2065: ‘maxNum‘ : undeclared identifier
(錯誤:你提到了一個叫 ‘maxNum‘ 的東西,但大腦根本不知道它是什么!)
俞小舟的指尖冰涼,懸停在鍵盤上方,微微發(fā)顫。
這已經(jīng)是第七次了。
第七次嘗試讓這個“找出用戶輸入數(shù)字中最大值”的簡單程序跑起來,第七次收獲了屏幕上這片猩紅的荊棘叢。
她揉著發(fā)脹的太陽穴,翻開攤在旁邊的筆記本。頁面早已一片狼藉,各種箭頭、問號、劃掉又重寫的代碼片段糾纏在一起,像一個陷入迷宮的螞蟻畫的路線圖。
“代碼不就是這樣寫的嗎?”她不甘心地嘟囔,聲音干澀,帶著濃重的自我懷疑,“定義變量,讓用戶輸入數(shù)字存進數(shù)組,然后一個個對比找到最大的……”這邏輯多清晰,像做菜步驟一樣明白,可電腦就是不買賬。
她不信邪,手指再次敲擊鍵盤,小心翼翼地添加了一行她認為“可能有用”的聲明:
int maxNum; // 定義最大數(shù)變量
for (i = 0; i < n; i++) { // 開始循環(huán),遍歷每一個輸入的數(shù)字
scanf("%d", &array[i]); // 請用戶輸入第i個數(shù)字,存入數(shù)組
}
指尖帶著最后一點希冀,按下了運行鍵。
編譯的綠色進度條閃過。
瞬間!
又是那個冰冷無情的黑色窗口。
error C4700: uninitialized local variable ‘i‘ used
(致命錯誤:你用了變量 ‘i‘ 來干活,但根本沒告訴電腦這家伙從多少開始數(shù)!它懵了!)
warning C4477: ‘printf‘ : format string ‘%d‘ requires an argument of type ‘int‘, but variadic argument 1 has type ‘float‘
(警告:你讓 ‘printf‘ 打印一個整數(shù) ‘%d’,但你塞給它的第一個數(shù)字‘float’是個帶小數(shù)點的!它會印得亂七八糟!)
最后那點強撐的精神,被這排山倒海般的抱錯徹底擊垮。
俞小舟無力地靠回冰冷的墻壁,后背被硌得生疼。
屏幕的光線刺得她眼睛發(fā)澀,胸口像堵了一團浸了水的棉花,沉重又冰冷。
挫敗感如同深秋的寒霜,一層層裹住心臟。她甚至能聽到自己牙關(guān)輕微撞擊的“噠、噠”聲。
目光下意識地投向靠窗右側(cè)下鋪的方向,那片屬于林修的、被黑暗完全吞沒的角落。
那張永遠一塵不染的書桌,那些線條冰冷的模型,此刻都隱沒在濃稠的墨色里。
只有一絲微不可聞的、像是電腦機箱在深度睡眠中吐納的電流嘶嘶聲,證明那堆鋼鐵造物還在運作。
他肯定早就睡了。像他那樣高效、精準得像鐘表一樣的人,怎么會為一個連基礎錯誤都搞不懂的“小廢物”而熬夜?
他指尖敲下的那個冰冷的“Enter”鍵聲,仿佛又在耳邊響起,帶著無聲的宣判。
窗外的城市天光透過沒拉緊的窗簾縫隙,在地面投下一道冰冷的暗紅色長痕,像一道永不愈合的傷疤。
俞小舟猛地閉上眼睛,試圖將那一片猩紅的報錯從腦海里驅(qū)逐出去。
可它們頑固地盤踞著,在眼皮內(nèi)側(cè)扭曲閃爍。
一股強烈的酸澀感猛地沖上鼻尖,喉嚨緊得發(fā)痛。
她慌忙將臉埋進蜷起的膝蓋,羽絨服冰涼的布料瞬間貼上滾燙的眼眶。
大顆大顆的淚珠洶涌而出,順著臉頰無聲地滾落,砸在牛仔褲上,洇開深色的圓點。
世界一片黑暗和冰冷。
C語言的邏輯之墻是如此堅硬,而她的拳頭是那么綿軟無力。
在這個龐大冰冷的數(shù)字森林里,她像一只走失的幼獸,連第一聲呼救都顯得那么蒼白可笑。
就在這時——
“啪!”
一聲突兀又沉悶的輕響,從宿舍樓深處傳來,仿佛某個陳舊的開關(guān)終于不堪重負地斷裂!
如同幕布被瞬間扯落!俞小舟眼前那片唯一的光明——筆記本電腦的屏幕——猛地熄滅了!
濃得化不開的黑暗如同實質(zhì)般劈頭蓋臉地砸了下來!
十一號樓電力不穩(wěn)的老毛病,在深更半夜給了她致命一擊!
所有努力、掙扎、痛苦的光源,都被無情掐斷。
宿舍徹底墜入純粹的黑暗。
只剩窗外那點微弱的暗紅天光和趙明陽的鼾聲交織,制造出一種令人窒息的空洞感。
手指還僵硬地懸在冰冷的鍵盤上空,身體卻像被抽空了所有力氣,連指尖都是冰涼的絕望。
眼淚流得更兇了。壓抑的嗚咽被死死堵在喉嚨里,身體控制不住地微微顫抖。
她把臉更深地埋進膝蓋,仿佛要把自己從這個冰冷又挫敗的現(xiàn)實里隱藏起來。
不知過了多久。疲憊感和哭腫的眼皮讓她的意識開始模糊,沉向混沌的睡意邊緣。
“叮——”
一聲極其輕微、清脆的電子提示音,像黑夜寂靜湖面投入的一粒小石子,瞬間刺破了俞小舟昏沉的意識。聲音微弱,卻無比清晰地傳入耳中。
哪來的聲音?她遲鈍地想,腦袋沉重得像灌了鉛。
身體像是被喚醒的最后一點本能驅(qū)使著,她極其艱難地掀開沉重的眼皮。
淚水模糊了視線。
黑暗中,只有書桌的方向,一個小小的、綠色的LED燈,正執(zhí)著地一閃,一閃。
像黑暗中指引方向的螢火蟲。
郵件?
冰冷僵硬的手指幾乎失去知覺,僅憑肌肉記憶摸索著,按下了電源鍵。
嗡…微弱的啟動聲響起。
屏幕掙扎著亮起刺眼的白光。
登錄郵箱。
收件箱里,一封孤零零的新郵件安靜地躺著。
發(fā)件人:[L.Xiu@mingde.edu.cn]
發(fā)送時間:02:17
主題:修正版 ArrayMax_V1(附注解)
02:17!
凌晨兩點十七分!
心臟像是被什么東西猛地攥緊,然后又驟然松開。
一股難以置信的熱流瞬間沖上腦海,沖散了所有冰冷的絕望和淚水的咸澀。
俞小舟的眼睛猛地瞪大,瞳孔在刺目的屏幕光下清晰地倒映著那幾個字,連呼吸都忘了!
指尖帶著抑制不住的顫抖,帶著一種近乎虔誠的小心翼翼,點開了那封郵件。
郵件的正文沒有任何寒暄,沒有任何多余的字。只有一行行清晰得如同刻在石板上的代碼:
#include <stdio.h> //基礎輸入輸出庫,讓你的程序會說人話(輸入輸出)
#include <limits.h> //關(guān)鍵!引入極限值庫,這樣就能用INT_MIN
(這個庫里有整數(shù)能取的最小值,方便我們一開始設定一個低起點)
int main() {
int n, i; // 嚴格聲明:n是數(shù)字個數(shù)(整數(shù)),i是當前數(shù)到第幾個(整數(shù))
printf("請輸入要輸入的整數(shù)個數(shù):"); // 提醒用戶該做什么* scanf("%d", &n); // 別漏了&符號!這個符號是告訴電腦存到n的家在哪*
int array[100]; // 裝數(shù)字的盒子,就做100個位置,夠用* // 萬一用戶亂輸呢?安全第一:*
if (n <= 0 || n > 100) { // n小于等于0,或超過100,就是耍流氓* printf("錯誤:輸入值無效 (應在1-100之間)\n"); // 直接報錯,不伺候!*
return 1; // 程序撂挑子不干了,返回1表示有問題* }`
`int maxNum = INT_MIN; // 最大數(shù)!現(xiàn)在賦值為電腦能理解的最小整數(shù),負數(shù)巨怪也能被超過*
printf("請輸入%d個整數(shù)(按回車分開):\\n", n); // 告訴用戶接下來要輸幾個數(shù)* // 開始收數(shù)字存到array盒子里:*
for (i = 0; i < n; i++) { // i從0開始,數(shù)到n-1。數(shù)100次就是0到99!* scanf("%d", &array[i]); // 告訴電腦,把用戶輸入的數(shù)字存到array盒子的第i個位置*
}
// 重點!一個個翻盒子找最大的寶貝:* for (i = 0; i < n; i++) { // 如果盒子第i位置的數(shù)字,比當前記錄的最大值還大?*
if (array[i] > maxNum) {
maxNum = array[i]; // 那就更新!記住這個新的最大值!* } }`
// 報告成果:* printf("這堆數(shù)字里的老大是: %d\n", maxNum); // %d 對應整數(shù)maxNum*
return 0; // 任務完成,完美收官!* }`
沒有一句廢話。沒有一句解釋。
但每一行關(guān)鍵代碼的旁邊或上方,都用清晰無比的 // 引導著綠色的注釋!
那些綠色的文字!像突然亮起在迷途中的路標,精準地指向前方的陷阱!
“關(guān)鍵!引入極限值庫” —— 原來她漏掉了那個能給她“最小起點”的庫!
“別漏了&符號!” —— 恍然大悟!她總是忘記那個該死的取地址符!
“i從0開始,數(shù)到n-1。數(shù)100次就是0到99!” —— 點破了她循環(huán)初始化的致命錯誤!
“%d 對應整數(shù)maxNum” —— 揪出了她打印時類型不匹配的鬼打墻!
這些注釋,不是代碼的重寫,是手把手的教戰(zhàn)地圖!
在她撞得頭破血流的地方,標清了地雷的位置、繞行的路線、通關(guān)的密碼!
一股滾燙的熱流從心口洶涌而出,瞬間沖上眼眶,甚至沖散了剛才的無助和冰冷。
溫熱的、模糊視野的液體再次涌出,但這一次,不再是絕望的咸澀,而是一種被狠狠揪了一下后又突然被穩(wěn)穩(wěn)托住的、復雜到難以言喻的情緒。
心口像是被塞滿了酸酸軟軟又熱乎乎的東西,漲得發(fā)痛,鼻子堵得死死的。
屏幕上的光暈在模糊的視線里模糊成一片柔和的光團。
她顫抖著雙手,將那封郵件里的代碼一個字一個字地,敲到自己的編輯器里。
運行。
黑色窗口跳出,如同等待審判。
光標閃動。
她深吸一口氣,在用戶提示符后輸入:3
回車。
輸入數(shù)字:-5,10,8
回車。
短暫的停頓,屏幕似乎凍結(jié)。
下一秒,一行簡潔的白色字符如同破曉的天光,安靜地出現(xiàn)在幽深的黑色背景之上:
這堆數(shù)字里的老大是:10
成了!成了!程序順滑地運行完畢,給出了正確的結(jié)果!
沒有報錯!沒有警告!像一個訓練有素的士兵完成了任務!
俞小舟呆呆地看著屏幕上那行小小的字,仿佛那是世界上最難破譯、此刻卻又清晰得刺眼的謎底。緊繃了整夜的神經(jīng)和肌肉驟然放松,讓她幾乎虛脫般癱靠在床壁上。
身體微微地顫抖著,不是因為寒冷,而是因為一種巨大的、令人眩暈的、充滿陌生感激的情緒激蕩。
她抬手,手背用力地蹭掉臉上冰冷的淚痕,用力抹過眼睛,仿佛要確認這不是一場光怪陸離的夢境。
凌晨兩點十七分的黑夜深處,有人看到了她的掙扎,無聲地伸出了援手。
以一種冰冷卻堅實的方式,將她從冰冷的代碼深淵邊緣拉了回來。
陽光如同碎金,斜斜地從西面教學樓高大的窗戶灑進來,切割開高數(shù)課階梯教室里渾濁的空氣。
下午的課程已經(jīng)過半,黑板上密布的積分符號和復雜公式如同蛛網(wǎng),令人窒息。
午后悶熱的氣息、粉筆灰的味道、前排男生頭發(fā)上濃重的發(fā)膠味混雜在一起,發(fā)酵出一種昏昏欲睡的迷幻氛圍。
投影儀投射出的函數(shù)圖像扭曲模糊??諝庹吵淼孟袷悄痰奶菨{,黏糊糊地附著在人的眼皮上。
教室后幾排的位置,一個巨大的人形物體正與這氣氛完美融合。
趙明陽。
他整個人像是被抽掉了骨頭,沉重地陷在相對狹小的課椅里。
寬厚的背脊完全弓起,形成一個別扭的弧度。
腦袋一點一點地往下耷拉,下巴幾乎要戳到他寬闊的胸膛。
厚實的肩膀因為睡姿而微微歪斜。嘴巴無意識地張開了一道縫隙。
一縷細微的、在午后陽光下閃耀著可疑光芒的口水,正頑強地順著他的嘴角,拉出一條晶瑩剔透的細絲,慢悠悠地、晃晃悠悠地往下延伸……
咚!
他的下巴猛地向下一砸,額頭結(jié)結(jié)實實地撞在面前攤開的高等數(shù)學教材上。
封面上那個神情威嚴的數(shù)學家頭像正對著他。
趙明陽被自己的撞擊力震得微微醒了一下,含混不清地哼唧了一聲:“……嗯?……防守……聯(lián)防……” 像是夢里正和人拼搶籃板,大手無意識地扒拉了一下桌面上攤著的草稿紙,把它揉成了一團,又迅速沉睡過去。
那點口水絲終于不堪重負,斷開了上半截。
殘余的那一小段“瓊漿玉液”啪嗒一聲,極其精準地落在了草稿紙上一處潦草的運算公式上。
1/2的分數(shù)瞬間被暈開,像一個被淚水打濕的符咒。
講臺上,頭發(fā)花白、梳著一絲不茍背頭的陳建國教授,目光如同雷達般掃過整個教室。
他的聲音本來如緩慢的溪流般講解著無窮級數(shù)的收斂性,此刻卻突然停頓下來。
鏡片后那雙銳利如鷹隼的眼睛,牢牢鎖定了后排那個明顯陷入深度沉淪的黑點。
空氣瞬間安靜下來,只有風扇在頭頂嗡嗡作響。
陳教授合上了手中厚厚的講義,表情沒有太多變化,只是嘴角極其細微地向下撇了撇,像是在處理一個極其常見的干擾信號。
他不緊不慢地走下講臺,皮鞋跟敲擊在地板上的聲音清晰而帶著某種不祥的節(jié)奏感。
他踱步到講臺側(cè)面放置教具的桌邊,似乎在尋找什么合適的“教鞭”。
布滿粉筆灰的手指在一堆三角板、量角器中逡巡片刻。最終,手指落在了一件外表奇特的玻璃器皿上。
那是一個克菜因瓶模型——數(shù)學領域拓撲學中最富盛名的怪物之一。
它由一種透明玻璃吹制而成,結(jié)構(gòu)詭異,瓶口扭曲盤旋,整個瓶身以一種看似“穿過自身”的奇幻方式連接閉合。
通體光滑,形狀流暢卻又帶著一種奇特的扭曲感。
陽光穿過窗戶照射在它光滑的表面上,折射出冷冽而詭異的斑斕光暈。
陳教授穩(wěn)穩(wěn)地握住瓶底(或者瓶身?沒人分得清)最渾圓堅實的部分,輕輕掂量了一下。
手感沉實而冰涼。
他不再看趙明陽的方向,只是穩(wěn)穩(wěn)地、如同進行一項神圣儀式般踱步,不緊不慢地穿過一排排座位間的過道。
學生們大氣不敢出,只能聽到自己加速的心跳。他的目標明確無比。
終于,他在那個歪歪斜斜、嘴角掛銀絲的大型沉睡物前站定。
沒有絲毫猶豫。
陳教授手臂平穩(wěn)地抬起,動作干凈利落,仿佛調(diào)整投影儀角度般自然。
那光滑冰冷、帶著奇異扭曲的玻璃克彩因瓶口(或者說是某個延伸部位?),在午后的空氣中劃出一道優(yōu)雅而短暫的弧線——
咚?。?!
一聲異常沉悶、堅實,仿佛敲在實心橡膠輪胎上的巨響,驟然在寂靜的教室里炸開!
聲音的源頭正是趙明陽那顆毛刺刺的、冒著熱氣的硬腦殼頂門正中央!
“唔哼——!”
一聲短促、痛苦、帶著巨大悶響的驚叫如同泄氣的風箱,猛地從趙明陽喉嚨深處擠出來!
他仿佛被人從云端一腳踹回了地面,身體如同巨型彈簧般猛地向上彈起!
沉重的課椅被他劇烈的動作帶得發(fā)出一聲刺耳的摩擦尖叫!
后背狠狠撞在了后面的椅背上!
巨大的眩暈感瞬間席卷了他!
眼前金星亂冒,世界變成了扭曲的馬賽克!
腦瓜頂上被狠狠敲擊的地方傳來一陣銳利的悶痛和難以言喻的古怪震蕩感,仿佛有無數(shù)小蟲在腦殼里嗡嗡亂飛!
最令他魂飛魄散的,是那清晰無比、貼著頭皮傳來的冰涼滑膩的玻璃觸感!
像一條冰冷的蛇盤踞在他頭頂!
“臥?。?!”那個“槽”字被巨大的驚恐死死卡在喉嚨里。
陳教授已經(jīng)收回手臂,舉著那個絲毫無損、依舊在陽光下折射著冷靜光芒的克菜因瓶,仔細看了看瓶身,仿佛在確認沒有沾上趙明陽的頭發(fā)油或者其他分泌物。
鏡片后的目光這才平靜地落在剛剛經(jīng)歷了一場“拓撲學物理打擊”而驚魂未定、面無人色、正試圖從扭曲的世界里找回焦距的趙明陽臉上。
“趙明陽同學,”陳教授的聲音不高不低,保持著講課時的平穩(wěn)語速,但在寂靜無聲的教室里字字清晰,“‘∞’的拓撲結(jié)構(gòu)研究明白了嗎?它的‘無邊界單面性’,是否讓你對人生也有了那么一點……特殊的感悟?”他的目光意有所指地掃過趙明陽額頭上被瓶口邊緣清晰印下的一個圓潤的小小紅印。
全班死寂。然后幾秒后,無法抑制的、被強行壓抑的低低哄笑聲如同漣漪般擴散開來。
趙明陽的臉瞬間從蒼白變成了醬紫色,一直紅到了耳朵根!
他下意識地、飛快地抬起手背,用力擦掉嘴角殘留的口水痕跡。
頭頂那個圓形的、略帶凹陷的紅印火燒火燎地痛。
那詭異的瓶型物體帶來的冰涼觸感仿佛還停留在皮膚上,混雜著腦子里嗡嗡的混亂感和教授那句不明覺厲的問話,趙明陽只覺得無數(shù)道目光像是聚光燈一樣把他牢牢釘在恥辱柱上。
他張了張嘴,喉嚨里卻只發(fā)出“嗬…嗬…”的漏風聲,半個字也憋不出來,恨不得把自己縮進課桌抽屜里去。
……
下課的鈴聲如同天籟。階梯教室瞬間如炸開的鍋,喧鬧聲浪洶涌。
趙明陽幾乎是第一個從座位上彈起來的,高大的身影帶著一股急于逃離災難現(xiàn)場的狼狽。
他胡亂把課本、揉爛的草稿紙連同那份沾著可疑水漬的卷子一股腦塞進背包。
動作太急,沒完全拉好的書包拉鏈下露出他籃球護腕的一角。
他低著頭,恨不得把自己縮到最小尺寸,像一顆高速發(fā)射的炮彈,只想用最快的速度沖出這個充滿“拓撲學陰影”的教室,逃離身后那些若有若無的、帶著笑意的目光,還有那個玻璃瓶冰冷的幻影。
什么防御戰(zhàn)術(shù)、訓練計劃全都被這當頭一“瓶”砸到了九霄云外。
腦子里只剩下一個字:跑!
就在他旋風般沖到教學樓一樓通往食堂的側(cè)樓梯轉(zhuǎn)彎時,一個低著頭、背著一個輕巧的雙肩包、走路似乎有點飄忽的身影正好從樓梯上緩緩下來。
砰!
一個埋頭猛沖的“重坦”,一個魂游天外的“幽靈”。
毫無懸念地,肩膀撞肩膀!
“哎喲!”俞小舟被一股巨大的沖力撞得向后踉蹌了好幾步,瘦弱的身板差點失去平衡直接坐在樓梯上。
“我去!”趙明陽也嚇了一跳,硬生生剎住腳步。他那點憋著的悶氣瞬間被點爆:“走路不長眼啊?!跟個……”剩下的話像被掐斷了。
他看清了眼前的人。
是404宿舍的新成員,俞小舟。
她的臉很白,眼睛下面掛著兩個清晰無比、甚至帶著點浮腫的、巨大的黑眼圈。
眼神發(fā)直,似乎還沉浸在一個遙遠而混亂的世界里,沒有焦距。
一副剛被從地底下刨出來沒多久的憔悴樣。寬大的鏡片都遮不住那份巨大的、令人心驚的疲憊感。
趙明陽那點幾乎脫口而出的怒氣瞬間啞火,像被澆了盆冰水,卡在了喉嚨里。
他撓了撓汗津津的短發(fā),頭頂那個被克萊因瓶親吻過的地方又開始隱隱作痛。
他自己也掛著倆黑眼圈,高溫的折磨加上當眾社死的刺激,臉色也不怎么好。
看看俞小舟那明顯比他嚴重十倍不止的萎靡狀態(tài),到嘴邊的抱怨硬生生拐了個彎,變成了有點粗聲粗氣、帶著點同病相憐和笨拙的詢問:
“……喂,你……你咋了?”他指了指自己的眼下,又對著俞小舟比劃了一下,“被啥玩意吸干了似的?昨晚……鬼屋真鬧耗子了?”他試圖開個玩笑緩和這尷尬的相撞,但語氣里掩飾不住的關(guān)切和一點點被高數(shù)摧殘后的共鳴感。
俞小舟這才像是猛地被從什么噩夢中拽醒,眼神聚焦到趙明陽那張寫滿了擔憂和劫后余生的臉上。
她張了張嘴,喉嚨干澀。
想起夜里那些猩紅的報錯,冰冷徹骨的絕望,以及凌晨兩點十七分照亮黑暗的那封郵件。
再想起剛才課堂上,趙明陽那個被克萊因瓶印在腦門上的紅印。
復雜的情緒在她酸澀的眼眶里翻涌,最終,她只是輕輕地搖了搖頭,嘴角扯出一個極其疲憊、卻又帶著一絲塵埃落定后的微弱笑容,聲音沙?。?/p>
“沒事……就是C語言……把我當猴耍了一晚上……”