無意中看到了關於面試題的部落格 部落格的出處
為了防止部落格的失效我將其**引入:
void strcpy( char *strdest, char *strsrc )
void strcpy( char *strdest,constchar *strsrc )
//將源字串加const,表明其為輸入引數,加2分
void strcpy(char *strdest, constchar *strsrc)
char * strcpy( char *strdest, constchar *strsrc )
看到這道題後,分數的逐步提高,嗯,的確是。 那看了據該分析一下為什麼分數有提高,其實原作者已經寫出來,我自己做點自己的理解描述:
1. 使用斷言方式檢驗引數,如果傳入的引數中 存在null,ok。。。。。gameover。。。。。
2. 使用const來約束strsrc,符合程式健壯性原則。凡是是修改試圖改動strsrc的內容,編譯器將產生錯誤。
可以參見 樓主其他博文中關於指標常量的講解。
3. 為了鏈式程式設計 。
4. 通過乙個例子 對這個問題進行一下解析
5 我算是笨死了不知道站在巨人的肩膀上 巨人的肩膀上(ps:鏈結)
1. 我們首先確定問題優先順序 ,關於c語言符號優先順序 已經有帖子描述 。
2. ok,我們舉乙個上學時候常見的例子。問題:i++和++i ;
#define product(x) (x*x)int main(void
)
答案 j = 9, k = 49; 關於這個有詳細的描述
下邊 繼續我們的話題:
while( (*strdest++ = * strsrc++) != '\0』 ); 我們現在將它進行逐步分級
1) strdest = *strsrc;
2) *strsrc != 0;
3) *strdest ++;
4)*strsrc ++;
關於C語言中的巨集
define pi 3.14 define zhouchang r 2 pi r 定義帶引數的巨集 undef pi 結束巨集 使用 ifdef ifndef else endif執行條件編譯 ifdefine 巨集名稱 語句 else 語句 endif define age 39 int main...
關於C語言中的指標
1 對於已定義的某個變數的讀取 通過該變數來訪問它的值 通過該變數的儲存位置讀取數值 指標 作業系統會將所有的記憶體單元進行編號。關於32位作業系統與64位作業系統支援的最大記憶體。計算機底層使用二進位制進行管理,所以32位作業系統支援2的32次方個編號,即4g的記憶體位址。int a 1 int ...
關於C語言中的巨集
巨集 macro,是一種批量處理的稱謂。巨集是一種規則或模式,或稱語法替換。在預編譯時進行,稱作巨集展開。c語言中的巨集定義 1 define是預處理器處理的單元實體之一 2 define定義的巨集可以出現在程式的任意位置 3 define定義之後的 都可以使用這個巨集。定義巨集常量 1 可以直接使...