先來(lái)看一下C語(yǔ)言的printf()函數(shù)的實(shí)現(xiàn)源碼,實(shí)際上是調(diào)用的vprintf方法,而vprintf方法又調(diào)用了vfprintf方法,這個(gè)方法是將字符串輸出到標(biāo)準(zhǔn)輸出流stdout里面,與它關(guān)聯(lián)的是一個(gè)FILE對(duì)象,這個(gè)FILE對(duì)象的文件描述符是非負(fù)整數(shù)。
對(duì)于標(biāo)準(zhǔn)輸出stdout來(lái)說(shuō)這個(gè)整數(shù)是1,如果是錯(cuò)誤輸出stderr那就是2,標(biāo)準(zhǔn)輸入stdin為0。默認(rèn)情況下文件描述符0、1、2是和終端關(guān)聯(lián)的,所以我們可以看到屏幕上的結(jié)果。