回覆列表
  • 1 # 孤獨終老

    C語言計算字串長度

    1、自定義函式求長度

    2、使用strlen()函式

    3、使用sizeof()運算子

    4、使用length()函式

    利用自定義函式的方法:

    int cont_str(char *s) { int i = 0; while ( str[i++] != "\0") ; return i; }

    利用string標頭檔案中的strlen()函式:

    strlen(str); //假設str為待求的字串陣列名

    使用sizeof()運算子

    sizeof(str)/sizeof(str[0]); //假設str為待求的字串陣列名

    使用length()函式

    char a[10] std::cin>>a; length=a.length()

    注意:

    1、strlen()函式求出的字串長度為有效長度,既不包含字串末尾結束符 ‘\0’。

    2、sizeof()運算子求出的長度包含字串末尾的結束符 ‘\0’。

    3、length()函式求出的字串長度不包含字串末尾結束符’\0’。

    4、當在函式內部使用sizeof()求解由函式的形參傳入的字元陣列的長度時,得到的結果。

    5、為指標的長度,既對應變數的位元組數,而不是字串的長度,此處一定要小心。

    6、C/C++的strlen(str)和str.length()和str.size()都可以求字串長度。其中str.length()和str.size()是用於求string類物件的成員函式,strlen(str)是用於求字元陣列的長度,其引數是char*。

    7、這三種函式strlen、length、size函式計算的字串長度都不算最後的運算子’\0’。

    strlen函式用之前需要先對字元陣列定義,例如char str[]={“hello world”};或者char str[]={‘h’,‘e’,‘l’,‘l’,‘o’,’ ‘,‘w’,‘o’,‘r’,‘l’,‘d’,’\0’}。

    8、getchar()就是從鍵盤獲取字元,直到回車為止。

    第一種:strlen(char*)函式求的是字串的實際長度,它求得方法是從開始到遇到第一個’\0’,如果你只定義沒有給它賦初值,這個結果是不定的,它會從aa首地址一直找下去,直到遇到’\0’停止。

    第二種:sizeof(),求所佔總空間的位元組數。

    strlen函式用法見下連結:https://blog.csdn.net/u012209626/article/details/47449885cin.get()函式、cin.getline()函式、getline()函式、gets()函式、getchar()函式用法見下連結:https://www.cnblogs.com/qiang-wei/p/9332201.html

  • 中秋節和大豐收的關聯?
  • 桂花樹葉子變成褐色,下垂,是怎麼回事?