我有一个错误
initializer element is not constant
当我在全局范围内初始化变量时 这是我的错误代码
char x = 65 ;
int c = x ;
int main(void) {
printf("%d",c); /* prints !!!Hello World!!! */
return EXIT_SUCCESS;
}
但是当我 在主函数内初始化 int 变量,它可以正常工作
char x = 65 ;
int main(void) {
int c = x ;
printf("%d",c); /* prints !!!Hello World!!! */
return EXIT_SUCCESS;
}
最佳答案
全局变量的初始化器必须是编译时常量。另一个变量(甚至是 const 变量)的值不是编译时常量。
数值常量(或仅由数值常量组成的表达式)是编译时常量。
关于c - 当我在全局范围内将 char 变量分配给 int 变量时,为什么编译器会给出错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50777779/