今天看了個有意思的程序,用遞歸就能求解字符串長度。而後本身敲敲代碼試試看。調試
#include <stdio.h> #include <stdlib.h> #include <assert.h> #define MAXSIZE 50 int mystrlen(const char *strDest) { assert(NULL != strDest); //assert宏入口檢測 if('\0' == *strDest) //字符串結束 return 0; else return (1 + mystrlen(++strDest)); //遞歸求解字符串長度 } int main(void) { char *ch; int len; ch = (char*)malloc(sizeof(char)*MAXSIZE); printf("Input a string:"); scanf("%s", ch); len = mystrlen(ch); printf("%d", len); printf("\n"); return 0; }
同時學到了用調試宏作入口檢測的方法,使程序更加完善。code