如何在C中为整数类型变量赋值?

在C中,

... int num = 'a'; ... 

我的问题很简单。 如何在整数类型变量中指定诸如“0”,“a”,“b”之类的字符而不会在C语言中出现任何类型错误?

由于历史原因(大多数情况下),字符常量在C中为int类型。

但即使他们不是,初始化就像

 int num = 'a'; 

或类似的任务

 num = 'a'; 

仍然是完全合法的。 可以将任何数字类型的值分配给任何(其他)数字类型的变量,并且将隐式地转换该值(这可能涉及表示的改变和/或溢出的风险)。

char及其亲属unsigned charsigned char是数字类型,特别是整数类型。

该字符仅是整数值的表示。 例如, '0'可以写为0x3048'a'可以替代0x6197等。

因此,作业完全有效。

您可以。 在C字符中,常量是int类型。 这使得它与C ++略有不同。

看看这里和这里 。 每个字符都是一个数字,实际上计算中的所有内容都是数字,只是其中一些(取决于类型和值)呈现为字符。

对于存储字符,变量类型应该是charwchar_t但它可以是任何其他类型,因为它们都只是内存中的数字。

(抱歉,我读错了这个问题并写了评论,我的不好) ----->

 int main() { int num = 'a'; printf("%c", num); return 0; } 

OUTPUT

 a