问题描述
在c ++中,例如,当我声明整数类型的变量并为其提供数值时,当打印该变量时,会出现其数值,但是当声明具有相同值的字符类型的变量时的整数,返回值是一个符号,怎么回事。
解决方法
在C和C ++中,char
是整数。它是一个数字,就像short
,int
,long
等。一个区别是您不知道char
是否用-128范围内的符号签名到127,或无符号,范围从0到255。
但是,即使char
是一个数字,也通常用于表示ASCII字符值。因此,这就是默认设置。当您编写std::cout << 'c' << std::endl;
时,'c'
被写为'c',因为这可能是程序员想要做的。要使其输出为数字,您可以执行std::cout << static_cast<int>('c') << std::endl;
一切都是数字。字符是映射到 ASCII (每个字符1个字节)或 UNICODE 的数字,它们可以表示几乎任何语言的任何字符,但使用更多字节。
整数(以及浮点数,长整型等)是用于数学运算或表示其自身的数字。
当您打印某些内容以显示功能 printf 或 cout 时,它们会采用数字(整数或字符),并通过像素调节或字符显示为字符(字母或数字)。类似的机制,其具体动态在这一点上不重要。
声明char = 65;
与说char = 'A';
相同,因为在一天结束时,有关char的信息被存储并作为数字处理。