如何在C中为整数类型变量赋值?
在C中,
... int num = 'a'; ...
我的问题很简单。 如何在整数类型变量中指定诸如“0”,“a”,“b”之类的字符而不会在C语言中出现任何类型错误?
由于历史原因(大多数情况下),字符常量在C中为int
类型。
但即使他们不是,初始化就像
int num = 'a';
或类似的任务
num = 'a';
仍然是完全合法的。 可以将任何数字类型的值分配给任何(其他)数字类型的变量,并且将隐式地转换该值(这可能涉及表示的改变和/或溢出的风险)。
char
及其亲属unsigned char
和signed char
是数字类型,特别是整数类型。
该字符仅是整数值的表示。 例如, '0'
可以写为0x30
或48
, 'a'
可以替代0x61
或97
等。
因此,作业完全有效。
您可以。 在C字符中,常量是int
类型。 这使得它与C ++略有不同。
看看这里和这里 。 每个字符都是一个数字,实际上计算中的所有内容都是数字,只是其中一些(取决于类型和值)呈现为字符。
对于存储字符,变量类型应该是char
或wchar_t
但它可以是任何其他类型,因为它们都只是内存中的数字。
(抱歉,我读错了这个问题并写了评论,我的不好) ----->
int main() { int num = 'a'; printf("%c", num); return 0; }
OUTPUT
a