1. 程式人生 > >C語言中strlen函式的模擬實現n種方法

C語言中strlen函式的模擬實現n種方法

strlen 函式採用遞迴形式編寫

    # include <stdio.h>
	# include <stdlib.h>
	int strlen (char* num)        // 形參接受實參傳遞的陣列
	{
    	{   if (*num!='\0')                //判斷字串是否結束,'\0'是字串結束標誌
	    	return (1+strlen(num+1));      //採用遞迴方式,依次陣列下標前進一位直到遇到'\0'結束,並返回字串長度
		}
	return 0;       
	}
	int main()
	{  char arr[]="2kjhhlh56hjk345";      //定義字串
	int str=strlen (arr);           //定義變數str接受字元長度
	printf("%d\n",str);          //輸出字串長度
	system("pause");
	return 0;
	}  

strlen函式採用一般格式編寫

 # include <stdio.h>
	# include <stdlib.h>
	int main()
	{ int count=0;
	  char arr[]="2kjlh5k345";       
	 while (arr[count]!='\0')               //判斷字串是否結束,'\0'是字串結束標誌
	   {     
		count++;                             //為了依次陣列下標前進一位直到遇到'\0'
    	}
	printf("%d\n",count);             //輸出字串長度
	system("pause");
	return 0;
	}

用不同方法編寫了strlen函式,實現求陣列長度,同一個功能用不同方法會改變程式的效率,因此可以嘗試用不同的方法優化程式碼