騰訊筆試題 到底輸出幾個

2021-09-30 14:17:20 字數 1056 閱讀 9582

請問下面的程式一共輸出多少個「-」?為什麼?

結果:

輸出為: 6

ps:

有緩衝區\n 和 重新整理緩衝區結果一樣 

結果:

解析:

1.程式一開使,bash產生乙個程序p1執行此程式,

2.p1進入程式後,當i=0時,fork()產生乙個子程序p2,同時它自己輸出乙個'-'.

3.p2繼承p1的諸如環境變數,pc等環境,p2首現會輸出乙個'-'.同時此時i=1,會繼續執行for迴圈---p2先fork()出乙個子程序p3,同時再輸出乙個'-'.

4.p3程序為p2的子程序,它會複製其父程序p2的指令,變數值,程式呼叫棧,環境變數,緩衝區等,它會輸出乙個'-'

這個呢?

結果:

ps:

輸出為8   這是為什麼呢?

這是因為printf(「-」);語句有buffer,所以,對於上述程式,printf(「-」);把「-」放到了快取中,在fork的時候,快取被複製到了子程序空間,所以,就多了兩個,就成了8個,而不是6個。

騰訊筆試題

一.單選題 每題4 分,15題,共60分 1.考慮函式原型void hello int a,int b 7,char pszc 下面的函式呼叫鐘,屬於不合法呼叫的是 a hello 5 b.hello 5,8 c.hello 6,d.hello 0,0,2.下面有關過載函式的說法中正確的是 a.過載...

騰訊筆試題

1 請定義乙個巨集,比較兩個數a b的大小,不能使用大於 小於 if語句 2 如何輸出原始檔的標題和目前執行行的行數 3 兩個數相乘,小數點後位數沒有限制,請寫乙個高精度演算法 4 寫乙個病毒 5 有a b c d 四個人,要在夜裡過一座橋。他們通過這座橋分別需要耗時1 2 5 10分鐘,只有一支手...

騰訊筆試題

const的含義及實現機制,比如 const int i,是怎麼做到i只可讀的?const用來說明所定義的變數是唯讀的。這些在編譯期間完成,編譯器可能使用常數直接替換掉對此變數的引用。初探編譯器static const之實現原理 到商店裡買200的商品返還100優惠券 可以在本商店代替現金 請問實際...