王道筆試題 筆試面試要點(持續更新中 )

2021-08-11 01:19:12 字數 1347 閱讀 7277

一、陣列

1、下列程式執行後的結果是()(2012   中興)

#includeint main(void)

printf("%d \n",a[1][2]);

for( i = 0;i< 3;i++)

printf("\n");

}return 0;

}

解題思路:

p 是乙個指向 int 型的指標 p[i] = *(p+i),故陣列 a 依次被初始化為 , 故 a[1][2] = 6 .。 此題是將二維陣列當做一維陣列來初始化,由於二維陣列在記憶體中是連續存放的,故是可行的。

輸出結果是:

解析:

選 a 。sizeof(int)  4 , a是指向陣列首元素的指標,指向的元素型別為 int ,每加 1 ,跳過 4 個位元組。

&a[0] 位首元素的位址,故也是指向首元素的指標,即 &a[0] 等價於 a;

&a 為指向陣列的指標,與 a 的型別不同 ( &a 型別為 int (*)[10]),但指向的單元相同;則 a + 4 指向 a[4];

b 為 a+1 正確;

c 中,將 &a 強制轉換為 int * 型別,則執行 +1 跳過 乙個 int 的大小(4),指向 a[1];

d 中將 &a轉換為 char * 型別,則 +1 跳過乙個 char 的大小 (1),故指向 a[1] 的首位元組需要 +4,然後轉換為 int* 型別,正確。

二、字串

1、請寫出 strcpy 和 memcpy 的別?(2012 海康視威)

解析:strcpy 和 memcpy  都是標準 c庫函式,主要有以下三方面的區別:

(1)、複製的內容不同。strcpy 只能複製字串,而 memcpy 能複製任意內容,例如:字串陣列、整型、結構體、類等。strcpy 只用於字串的複製,並且它不僅會複製字串的內容,而且還會複製字串尾的 '\0'。memcpy 對於複製的內容沒有限制,因此用途更廣。

(2)、複製的方法不同。strcpy 不需要指定長度,它遇到被複製字串的結束符  '\0'  時才結束,所以容易溢位。 memcppy 根據第三個引數可以指定複製的長度。因此比較安全。

(3)、用途不同。通常在複製字串時用 strcpy,而需要複製其他型別資料時一般需要用 memcpy。

筆試題(持續更新)

解題思路 棧的特點是先進後出,佇列的特點是先進先出,所以可以把佇列1中的元素pop到佇列2中,佇列2再次取出的時候就可以了。兩個棧實現乙個佇列 思路 先將資料存到第乙個棧裡,再將第乙個棧裡的元素全部出棧到第二個棧,第二個棧出棧,即可達到先進先出 擴充套件 棧是vector的乙個子類,它實現了乙個標準...

筆試面試 經典筆試題整理

以下內容全部整理自網路。把整數關鍵碼k雜湊到n個槽列表,最好的雜湊函式是 h k k rand n mod n,rand n 返回0到n 1的整數 初始資料集的排列順序對演算法的效能無影響的是 堆排序 堆排序 最優時間複雜度o nlogn 最差時間複雜度o nlogn 平均時間複雜度o nlogn ...

JS筆試面試題(後續更新)

1.下面 的執行結果是?var length 10 function fn var obj obj.method fn,1 答案 10 2 解析 首先,fn 執行時的this是指向window的,因為這個函式是作普通函式呼叫的,普通函式呼叫,this指向window。然後arguments代指實參陣...