只記錄一些比較有借鑑性的,答案以後慢慢完善,希望各位看客能給出精彩的答案,現行謝過了!
1:什麼是大小端模式,請用宏實現大小端模式的讀寫
可以參考:http://blog.csdn.net/ce123/article/details/6971544
2:比較以下兩個模式的的for循環的優缺點,如何優化
for (i=0; i<N; i++)
{
if (condition)
DoSomething();
else
DoOtherthing();
}
優點:寫法簡潔易懂
缺點:每次循環都要進行一次if判斷,這樣相較於下面的方法至少多出N-1次if判斷,並且if判斷打斷了for循環流水線作業,效率低
if (condition)
{
for (i=0; i<N; i++)
DoSomething();
}
else
{
for (i=0; i<N; i++)
DoOtherthing();
}
缺點:寫法複雜,較難閱讀
優點:效率比上面那個高
3:以下代碼有什麼錯誤或者有什麼效果
#define MAX 255
unsign char a[MAX],i;
for(i=0; i < MAX; i++)
a[i] = i;
4:sizeof的使用,具體是啥不記得了,但是主要考的是sizeof對指針和數組的求值
5:自己實現strcmp庫函數
面試時我自己寫的一個,感覺還可以(如果用於比較的兩個字符串結尾沒有‘\0’,程序就有問題):
int strcmp(const char * str1,const char *str2)
{
while(str1 && str2 && (*str1++ == *str2++))
;
return (*str1)-(*str2);
}
看了window中的這個函數的定義,感覺有點複雜,不知道上面的還有什麼bug沒有,請各位看客指正6:用winsock實現一個簡單的客戶端服務器程序
對於我這個從來不高window C的人來說這個真不會,只知道用socket就可以了,相信對搞windows的人來說這個應該很簡單吧
7:寫出BOOL,float和指針與“零值”比較的if語句
參考:http://blog.csdn.net/jhg1204/article/details/8980186