程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C語言:編寫strcpy函數

C語言:編寫strcpy函數

編輯:關於C語言

C語言:編寫strcpy函數


很多公司的面試官在面試程序員的時候,要求應聘者寫出庫函數strcpy()的工作方式或者叫實現,很多人以為這個題目很簡單,實則不然,別看這麼一個小小的函數,它可以從三個方面來考查: (1)編程風格 (2)出錯處理 (3)算法復雜度分析(用於提高性能) 最好的寫法如下: 代碼如下:  
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
  
//鏈式訪問
char * my_strcpy(char *dest, const char *src)
{//將源字符串加const,表明其為輸入參數
   assert(src != NULL&&dest != NULL);//對源地址和目的地址加非0斷言
   char *ret = dest;
   while ((*dest++ = *src++))
          ;
    return ret;//引用返回地址,方便鏈式操作!!
}

int main()
{
    char *p = "bit-tech";
    char arr[20];
    //strcpy(arr,p);
    printf("%d\n", strlen(my_strcpy(arr, p)));
    system("pause");
    return 0;
}

 

  同樣寫出strlen函數  

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved