/* 計數法 */ int my_strlen(char *p) { int number = 0; while (*p) { number++; p++; } return number; }
方法2:
/* 遞歸法 */ int my_strlen(char *str1) { if (*str1 != '\0') { str1++; return 1 + my_strlen(str1); } else return 0; }
方法3:
int main() { char *str = "asdfg"; int len = my_strlen(str); printf("%d\n",len); system("pause"); return 0; }
現在給出主函數進行調用以及測試:
int main() { char *str = "asdfg"; int len = my_strlen(str); printf("%d\n",len); system("pause"); return 0; }
經過驗證,結果均為5,計算結果正確! 如果哪位大神發現程序還有待改進的地方,歡迎批評指正!