C:sizeof()相关疑惑?

标签 c sizeof

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

main()
{    
   printf("%d \n ",sizeof(' '));
   printf("%d ",sizeof(""));
}

输出:

4
1

为什么第一个 printf 的 o/p 是 4 而且如果我给它作为 '' 它显示错误为错误:空字符常量但是对于双引号空白即没有任何空格很好没有错误?

最佳答案

' '整型字符常量的例子,它的类型是int(它没有被转换,它有强>这种类型)。第二个是 "" character literal,它只包含一个字符,即 null character,因为 sizeof(char) 是保证为1,整个数组的大小也为1

关于C:sizeof()相关疑惑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24803227/

相关文章:

C 无法在 while 循环工作和 "double free or corruption"错误中获取数组中的搜索编号

c - 让 fgets 跳过特殊字符

C++地址值和sizeof

c - 对于空终止字符串,strlen 有时等于 sizeof

c - 从文件中读取数字并将其存储在 C 中的二维数组中

c - 没有线程的竞争条件?

c - 如果二进制搜索数字不在索引中,如何返回 NULL?

c - 如何获取动态分配的二维数组的大小

c++ - sizeof(...) = 0 或 C++ 模板中的条件变量声明

c - 如何计算两个地址之间的距离?