大師級經(jīng)典的著作,要字斟句酌的去讀,去理解。以前在看K&R的The C PRogramming Language(SecondEdition)第1.5節(jié)的字符輸入/輸出,被getchar()和EOF所迷惑了。可能主要還是由于沒有搞清楚getchar()的工作原理和EOF的用法。因此,感覺很有必要總結(jié)一下,不然,很多瑣碎的知識點(diǎn)長時(shí)間過后就會(huì)淡忘的,只有寫下來才是最好的方法。其實(shí),getchar()最典型的程序也就幾行代碼而已。本人所用的環(huán)境是DebianGNU/linux,在其他系統(tǒng)下也一樣。一、getchar的兩點(diǎn)總結(jié):1.getchar是以行為單位進(jìn)行存取的。當(dāng)用getchar進(jìn)行輸入時(shí),如果輸入的第一個(gè)字符為有效字符(即輸入是文件結(jié)束符EOF,Windows下為組合鍵Ctrl+Z,Unix/Linux下為組合鍵Ctrl+D),那么只有當(dāng)最后一個(gè)輸入字符為換行符'/n'(也可以是文件結(jié)束符EOF,EOF將在后面討論)時(shí),getchar才會(huì)停止執(zhí)行,整個(gè)程序?qū)?huì)往下執(zhí)行。譬如下面程序段:
新聞熱點(diǎn)
疑難解答