VC++程序常见错误 提示(3)---gyy整理

(1) 使用变量要先定义,后使用,一般都能做到,但经常犯的错误是“没有对变量初始化,就使用它”,此时常会出现警告warning,但不影响运行,但可能会造成结果不是预期想得到的。所以要养成对变量要先定义,再初始化,然后再使用的好习惯。

以下是错误案例

#include <iostream>
using namespace std;
int main()
{
int a,b; //局部自动变量
cout<<"a="<<a<<endl;
cout<<"b="<<b<<endl;
return 0;
}


出现警告


运行结果


修改后

#include <iostream>
using namespace std;
int main()
{
	int a,b; //局部自动变量
	a=1; //对a进行初始化赋值
	b=2; //对b进行初始化赋值
	cout<<"a="<<a<<endl;
	cout<<"b="<<b<<endl;
	return 0;
}
运行结果



以上情况是针对与局部自动变量来说的。


以下情况是正对非局部自动变量来说。

(2)局部静态变量和外部变量(全局变量)如果没有在定义时赋初值,其初始值为0

//  局部静态变量
#include <iostream>
using namespace std;
int main()
{
  static int a,b; //局部静态变量
  cout<<"a="<<a<<endl;
  cout<<"b="<<b<<endl;
  return 0;
}   

//  全局变量
#include <iostream>
using namespace std;
int a,b; //全局变量
int main()
{
  cout<<"a="<<a<<endl;
  cout<<"b="<<b<<endl;
  return 0;
}    

虽然定义局部静态变量和全局变量时都没有对其进行初始化赋值就使用,编译时也没出现任何警告,原因就在于对于这两种类型的变量如果没有对其赋值就使用,其默认值为0。

两个例子的运行结果都如下



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值