c - Sizeof 运算符与字符串一起使用来打印其长度

标签 c sizeof

<分区>

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

#include <stdio.h>

 int main(void)
 {

    printf("%d",sizeof("abc"));
    return 0;
 }

最佳答案

C 中的字符串包含一个空终止符,因此字符串“abc”实际上占用了 4 个字节。

关于c - Sizeof 运算符与字符串一起使用来打印其长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42769764/

相关文章:

c "each"宏不迭代所有元素

c strncpy null 是否终止

c - 当我使用 valgrind 运行这段代码时,它的执行方式与我在没有 valgrind 的情况下运行它时的执行方式不同

在 T 的静态成员中使用 sizeof(T) 的 C++ 错误

c - C 中二维数组的动态内存分配

c++ - const char * 数组中的元素数

c++ - 固定大小结构

c++ - 我的类包含 1 个枚举、2 个整数和一个指针。它没有虚函数,但有 20 个字节。为什么?

c - 相同结构的不同尺寸,不同类型的排序

c - 带有指针的 B 树