当我们在int数组中存储非整数时会发生什么?

时间:2016-11-20 00:28:19

标签: c

如果我将一个字符存储在一个int数组中,我会看到该字符的ASCII值,但如果我存储任何其他非整数,那么事情似乎不起作用。

int a[3]={1,2,'-'};
printf("%d %d %d\n", a[0], a[1], a[2]);

在这里,我没有得到编译器的任何输出。

这里发生了什么?

1 个答案:

答案 0 :(得分:1)

C中的字符文字类型为int。因此,本声明中的所有初始化器

int a[3]={1,2,'-'};

有类型int。

此外,在C中有所谓的整数提升,它提升所有整数类型的对象,其等级小于类型int的等级为int类型。

相关问题