牛客 C 刷題day13

2022-08-09 06:00:16 字數 1352 閱讀 4080

1:復合語句也被稱為語句塊,它至少要包含兩條語句

但是你不妨在語句裡寫個空也行,只不過這種操作必然會被編譯器過濾掉

2:死**

死**的英文是dead code。是指在程式操作過程中永遠不可能被執行到的**。

通過aqtime覆蓋率的分析就可以發現所有的永遠都不會執行到的**,但是與程式無關的**卻不一定能夠全部發現。

消除死**(dce)在某些情況下,編譯器可以判斷出某些**根本不影響輸出,所以編譯器會消除這些**。也可以使用優化作用進行消除。

3:在乙個表示式中

只要除法中沒有浮點數或者沒有顯式轉換,那麼就會被約掉精度。

4:write函式所在的標頭檔案為

write有兩種用法。一種是:

ssize_twrite(int handle, void *buf, int nbyte);

handle 是檔案描述符;

buf是指定的緩衝區,即指標,指向一段記憶體單元;

nbyte是要寫入檔案指定的位元組數;返回值:寫入文件的位元組數(成功);-1(出錯)

write函式把buf中nbyte寫入檔案描述符handle所指的文件,成功時返回寫的位元組數,錯誤時返回-1.

另一種是:write(const char* str,int n)

str是字元指標或字元陣列,用來存放乙個字串。n是int型數,它用來表示輸出顯示字串中字元的個數。

write("string",strlen("string");表示輸出字串常量

5:請問下面的程式一共輸出多少個「-」?12

3456

789intmain(void)

return0;

}

fork型別的題目

fork(); // i=0

printf("-");    // buffer="-"

fork(); // i=1

printf("-");    // +1

printf("-");

printf("-")

fork(); // i=1

printf("-");    // +1

printf("-")

fork()系統呼叫的特性,

5:

建構函式中變數的初始化順序是按其定義的順序,與初始化列表中的順序無關。所以一定要注意。

Day13刷題總結

string s1 new string xyz 建立了string型別的內容為xyz的s1物件 string s2 new string xyz 建立了string型別的內容為xyz的s2物件 boolean b1 s1.equals s2 比較s1物件和s2物件的內容相等,返回true。bool...

牛客 C 刷題day47

1.不能認為是原子操作,a是全域性變數,在記憶體中,則 a一般被分為從記憶體取a到暫存器 回寫到記憶體三步.兩個執行緒併發執行以下 假設a是全域性變數,那麼以下輸出 哪個是可能的?int a 1 void foo 解析假設執行緒x和y同時執行,x和y可隨時被搶占,a的初始值為1 a 3,2 y先執行...

牛客 C 刷題day25

1.在乙個物件未建立起來時通常用的是拷貝建構函式,而物件建立起來之後的複製拷貝就需要使用賦值運算子過載了。拷貝建構函式形式如下 cexample const cexample c 就是我們自定義的拷貝建構函式。可見,拷貝建構函式是一種特殊的建構函式,函式的名稱必須和類名稱一致,它必須的乙個引數是本型...