高頻面試題1 自增邊量

2021-10-03 15:32:23 字數 506 閱讀 3704

package com.sxt.interview;

public

class 自增

}

實際執行結果為:41

11分析:

int i = i; 邊量直接賦值。無需進棧操作。

i=i++; i先進棧值為1,同時邊量i自增,變成2,之後棧中i值1賦值給i,覆蓋i ,i=1;

int j = i++; 先將i入棧,i=1,將1賦值給j,之後i自增,此時邊量i=2;

int k = i + ++ii++;我們可以寫成int k = i+(++i)(i++); 還是先分析進棧值。i=2,++i是先自增再進棧,即進棧是3,i++先入棧3再自增到4,i=4. 最後 int k = 2+ 3*3=11.

總結:賦值=,最後計算;

=右邊的從左到右以此壓入運算元棧

實際先算看運算子優先順序

自增自減都是直接修改邊量,不經過運算元棧

最後賦值之前,臨時結果也是儲存在運算元棧中。

C 高頻面試題

malloc free是c語言的標準庫函式,new delete是c 的運算子。由於malloc free是庫函式而不是運算子,不在編譯器控制許可權之內。對於使用者自定義的物件而言,用maloc free無法滿足動態管理物件的要求。廢話 new是型別安全的,malloc不是。int a new fl...

C 高頻面試題

字首式可以返回物件的引用,而字尾式必須返回物件的值所以導致在大物件產生時產生了較大的複製開銷,因此處理自定義型別的時候盡量使用字首式。a b b a a b 相對於c,c 多了過載 內聯函式 異常處理,擴充套件了物件導向的設計內容 類 繼承 虛函式 模板。c 並不是完全的物件導向,它也可以寫出面向過...

STL高頻面試題

vector的內部是使用動態陣列的方式來實現的,如果動態陣列的內部實現不夠用,就要動態的重新分配記憶體。然後把原陣列的內容拷貝過去。vector和陣列類似,擁有連續的記憶體空間,支援隨機的訪問,在中間進行元素的插入和刪除的操作時間複雜度是o n list是由雙向鍊錶實現的,只能通過陣列指標來進行資料...