关于变量定义时初始化的必要性

之前以为,变量在定义时就初始化是因为可以减少很多不必要的随机值,方便调试。

今天遇到一个问题。

在九度上测一道题目。程序中声明了一个全局变量index,但没有初始化。直接写的“int index;”用C语言提交代码,显示Runtime Error。不知何故。后来换C++,显示Compile Error,才知道原来是string.h这个头文件中,有一个index函数。这两个声明冲突了,所以出了问题。

解决方法有两个,一个是改掉这个变量名,另一个是在变量声明的时候初始化:int index = 0; 这样就可以覆盖掉函数的定义。

如果记着在变量定义时初始化,就会覆盖掉string.h中的声明。(这个我还不太确定是为什么,按理说同级作用域内会冲突,只有不同级作用域内才可覆盖)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值