相关疑难解决方法(0)

C/C++中的字符大小('a')

C和C++中的字符大小是多少?据我所知,char的大小在C和C++中都是1个字节.

在C:

#include <stdio.h>
int main()
{
    printf("Size of char : %d\n", sizeof(char));
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

在C++中:

#include <iostream>
int main()
{
    std::cout << "Size of char : " << sizeof(char) << "\n";
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

没有惊喜,它们都给出了输出: Size of char : 1

现在我们知道,字符表示为'a','b','c','|',...所以我只是修改了上面的代码对这些:

在C:

#include <stdio.h>
int main()
{
    char a = 'a';
    printf("Size of char : %d\n", sizeof(a));
    printf("Size of char : %d\n", sizeof('a'));
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出:

Size of char …
Run Code Online (Sandbox Code Playgroud)

c c++ types

287
推荐指数
4
解决办法
27万
查看次数

为什么这个带有'1234'的代码在C++中编译?

为什么编译:

char ch = '1234'; //no error
Run Code Online (Sandbox Code Playgroud)

但不超过4 char秒:

char ch = '12345'; //error: Too many chars in constant
Run Code Online (Sandbox Code Playgroud)

(是的,我知道' '用于一个char," "用于字符串;我只是在尝试)

这是否与char使用ASCII数字表示的事实有关?

c++ char

18
推荐指数
2
解决办法
904
查看次数

标签 统计

c++ ×2

c ×1

char ×1

types ×1