面試題系列之 和 的區別

2021-10-05 20:17:34 字數 639 閱讀 4597

&和&&都可以用作邏輯與的運算子,表示邏輯與(and),當運算子兩邊的表示式的結果都為true 時,整個運算結果才為true,否則,只要有一方為false,則結果為false。

既然存在兩個運算子,那麼他們之前肯定還是有區別的。&&還具有短路的功能,即如果第乙個表示式為false,則不再計算第二個表示式,整個條件都為false。例如,

int i=0;

string g=

"adb";if

(i!=

0&& g.length==0)

int i=0;

string g=

"adb";if

(i!=

0& g.length==0)

因為i=0,所以表示式i!=0返回的是false,那麼&&後面的表示式便不再執行。整個if條件都為false,如果將&&換成&,雖然i!=0返回的是false,但是表示式g.length==0還是要執行,整個if條件也返回的是false。

&還可以用作位運算子,當&操作符兩邊的表示式不是boolean型別時,&表示按位與操作,我們通常 使用0x0f來與乙個整數進行&運算,來獲取該整數的低4個bit位,例如,0x31 & 0x0f的結果為0x01。

面試題 兩數之和

題目 輸入乙個已經按公升序排序過的陣列和乙個數字,在陣列中查詢兩個數,使得它們的和正好是輸入的那個數字。要求時間複雜度是o n 如果有多對數字的和等於輸入的數字,輸出任意一對即可。例如輸入陣列1 2 4 7 11 15和數字15。由於4 11 15,因此輸出4和11。如下 includeusing ...

面試題 兩數之和

給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。示例 給定 nums 2,7,11,15 target 9 因為 nums 0 nums 1 2 ...

面試題系列(7)

84.將文字轉為數字 atoi,atof 將數字轉為文字 sprintf 86.加強記憶 mfc clist carray cstring cmap 雜湊表 mfc集合類 資料結構 演算法流程 c stl標準模板庫 std list vector string map 二叉樹 通用容器類,面試時考察...