首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C語言 strlen 計算字串位元組長度實例

     編輯:關於C語言

程式碼

#include <stdio.h>
#include <string.h>

int main() {
    // "Welcome\n" 包含 7 個可見字元 + 1 個換行符 = 8 位元組
    // strlen 不計算結尾的 '\0'
    printf("%zu\n", strlen("Welcome\n"));
    return 0;
}

輸出結果

8

關鍵點

  • strlen 返回 size_t (無號整數),格式字建議用 %zu (C99) 或 %lu。
  • 計算的是字串內容長度,**不包含** 結尾的空字元 '\0'。
  • 轉義字元 \n 佔 1 位元組,同理 \t、\\、\" 等皆佔 1 位元組。
  • sizeof("Welcome\n") 會返回 9 (含結尾 \0),這是編譯期常數,與 strlen 執行期計算不同。

常見誤區

表達式結果說明
strlen("abc")3執行期計算內容長度
sizeof("abc")4編譯期陣列大小,含 \0
char *p = "abc"; sizeof(p)4/8指標大小 (32/64 位元),非字串長度
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved