面試中的易錯題

2021-06-26 13:19:08 字數 773 閱讀 7602

#include int main()

; int b[3][2] = ,,};

int *p, *m;

p = a[0];

m = b[0];

printf("%d\n",p[0]); //輸出1 注意逗號表示式

printf("%d\n",m[0]); //輸出0 注意逗號表示式

/*記憶體中的資料儲存的都是補碼形式:模-絕對值=補碼,舉例 八位數的補碼怎麼求,通常老師教的是,正數原始碼取法+1,取反過程中符號位不變,補碼的補碼就是原始碼,

× 所以負數的原始碼就是對補碼繼續取反+1符號位不變就求出原始碼了,比如 -3的補碼。3的原始碼是0000 0011最高為是符號位

-3原始碼 1000 0011

取反 1111 1100

+1 1111 1101 這就是-3在記憶體中儲存的資料

繼續求 1111 1101的原始碼

取反 1000 0010

+1 1000 0011 得到原始碼

那麼問題來了在求邊界的時候會出問題,所以我們這樣計算 模等於 10000 0000 - 1000 0000(128是無符號數) = 補碼

1 0000 0000

- 1000 0000

等於 1000 0000

所以-128的補碼是1000 0000,所有的數都可以這麼來求

*/ printf("%d\n",x); //輸出-128補碼的問題

}

面試易錯題 陷阱題集一

1.oj 設計乙個函式sum n 1 2 n,假設sum n 不超過整型數表示範圍。錯誤解法 int sum n 錯誤在於 n n 1 時可能已經超出了整型數的表示範圍,造成溢位錯誤。int sum n 2.美圖 請寫出下面程式的執行結果。void func void printf s dst 易錯...

面試易錯題 陷阱題集一

1.oj 設計乙個函式sum n 1 2 n,假設sum n 不超過整型數表示範圍。錯誤解法 int sum n 錯誤在於 n n 1 時可能已經超出了整型數的表示範圍,造成溢位錯誤。int sum n 2.美圖 請寫出下面程式的執行結果。void func void printf s dst 易錯...

SQL測驗易錯題

sql 測驗 結果 17 20 您的回答 1.sql 指的是?您的回答 structured query language 2.哪個 sql 語句用於從資料庫中提取資料?您的回答 select 3.哪條 sql 語句用於更新資料庫中的資料?您的回答 update 4.哪條 sql 語句用於刪除資料庫...