Sizeof运算符使用string来打印其长度

sam*_*006 3 c sizeof

当我运行这个代码我得到输出为4.但我的字符串长度是3为什么它给4?

#include <stdio.h>

 int main(void)
 {

    printf("%d",sizeof("abc"));
    return 0;
 }
Run Code Online (Sandbox Code Playgroud)

Jef*_*lin 5

C中的字符串包括空终止符,因此字符串"abc"实际上占用4个字节.

  • @lurker - 字符数组上的sizeof运算符返回数组的大小 - 可能与字符串的长度不同 - 但这是对sizeof的完全合法和有效的使用. (2认同)