牛客網錯題知識點整理C C (一)

2021-10-09 03:45:14 字數 1421 閱讀 7864

int

main

(void

)

答案為-12

a = (a + (a - a*a))

a = (a + (3 - 9))

a = -6 + (-6) = -12

一般為算數運算子》關係運算子》邏輯運算子》條件運算子》

;

答案為:1,8,1,4

類a占用1個位元組的佔位空間,類b在32位機器對齊位元組數為4,char為1,int為4,

所以補齊到8個位元組,函式c的返回值為void型別,也佔乙個位元組,virtual修飾符加上後占用4個位元組

這句話的闡述是錯誤的,正確的應該是乙個演算法有0個或多個輸入 有乙個或多個輸出

這裡需要考慮到運算子的優先順序,左移的優先順序要高於異或,所以y先左移兩位變為11000,在於x異或變為00011011

根據大佬的解答,似乎明白了什麼;主函式中呼叫了sayhello(b),呼叫了類中的預設拷貝函式,使得兩者的物件完全相同,在製作p返回時,呼叫了析構函式釋放了p,但是在程式結束後又再一次呼叫了析構函式,所以會導致程式崩潰

1.p=s; 

2.p=k;

3.p=s[0];

4.k=s;

首先來看選項1,由於p是指向char型別的指標,而s是指向char陣列的指標,所以是錯的;

選項2,由於p是指向char型別的指標,而k是指向char陣列的指標,所以也是錯的;

選項3,同理,這裡的s[0]表示第乙個元素的首位址,是為指向char型別的,所以正確

選項4,都是指向char陣列的指標,沒問題,但是s指向的是長度為10的陣列指標,可以理解為char (*p)[10],但是k卻是乙個指向長度為3的陣列指標,所以也是錯的;

a=a+7

a=7+b+c,a++

int(12.3%4)

a=a+7=c+b

首先分析第乙個,一看就是正確的,再看第二個也正確,多選題果斷cd

在看第三個,無法對double型別的數字取餘,所以錯誤

最後乙個,可以寫成 a = a + (7 = c+b);這裡的7位常量不能被修改

牛客網 錯題整理(4)

錯題集 1.沒用引數的兩個函式是不能過載的.說法是否正確?答案 錯誤 解析 const 可以構成過載 2.math.round 11.5 等於 答案 12 解析 首先要注意的是它的返回值型別是long,如果 math.round 11.5f 那它的返回值型別就是int,這一點可以參考api 其次它返...

牛客網 錯題整理 6

錯題集 1.以下程式段執行後結果是 include void main p q arr p printf d,p q printf d,char p char q printf d sizeof arr sizeof arr 答案 1,2 15 解析 指標自增 自減每次移動的偏移量是指標所指向物件的...

牛客網 錯題整理(1)

牛客網錯題集 1 1.int main int argc char ar 經編譯連線生成的可執行檔案 tt.exe 若執行輸入以下命令列 tt 12 345 678 則程式執行的輸出結果是 答案 9136 解析 輸入tt 12 345 678時,argc 4 ar ar i 分別取了 1,3,6 f...