本文主要是介绍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。
两个例子的运行结果都如下
这篇关于VC++程序常见错误 提示(3)---gyy整理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!