赞
踩
但从语法上来说,C在这方面的规定比C++要简单很多,C压根就不允许在定义全局变量时象上面的例子那样写出x=y来,即使y是const也不行。
#include "iostream" using std::cout; extern const int a; int main() { cout<<a; return 0; } 这个程序里全局变量不会被自动初始化成0吗?为什么报错呢?
这里应该是不用写extern的吧?不过去掉extern也是不行。解答如下:
不会被初始化为0的,因为a是const常量,编译器要求你必须手动初始化,不然编译器会报错。
那还要 去掉 const const 是声明常量的, 常量不可改, 所以声明的时候要赋值, 不然编译器 报错
首先const是用来声明常量的,常量在声明时必须赋初始值,程序修改如下: #include "iostream" using std::cout; int a; int main() { cout<<a; return 0; } 此时运行结果是0.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。