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

时间:2014-01-28 08:05:16

标签: c char int

在C中,

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

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

5 个答案:

答案 0 :(得分:4)

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

但即使它们不是,也需要像

这样的初始化
int num = 'a';

或像

这样的作业
num = 'a';

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

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

答案 1 :(得分:2)

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

所以作业完全有效。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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

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

答案 4 :(得分:0)

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

int main()
{

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

输出

a
相关问题