VC++程序常见错误 提示(3)---gyy整理
2013-10-07 15:37
274 查看
(1) 使用变量要先定义,后使用,一般都能做到,但经常犯的错误是“没有对变量初始化,就使用它”,此时常会出现警告warning,但不影响运行,但可能会造成结果不是预期想得到的。所以要养成对变量要先定义,再初始化,然后再使用的好习惯。
以下是错误案例
出现警告
运行结果
修改后
运行结果
以上情况是针对与局部自动变量来说的。
以下情况是正对非局部自动变量来说。
(2)局部静态变量和外部变量(全局变量)如果没有在定义时赋初值,其初始值为0。
虽然定义局部静态变量和全局变量时都没有对其进行初始化赋值就使用,编译时也没出现任何警告,原因就在于对于这两种类型的变量如果没有对其赋值就使用,其默认值为0。
两个例子的运行结果都如下
以下是错误案例
#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++程序常见错误 提示(4)---gyy整理
- VC++程序常见错误 提示(1)---gyy整理
- VC++程序常见错误 提示(2)---gyy整理
- 【整理】C语言上机程序调试功能键及常见错误提示
- 运行hadoop MapReduce程序常见错误及解决方法整理
- 网页常见错误提示整理
- eclipse开发Android程序时一些常见问题与错误提示
- 运行hadoop MapReduce程序常见错误及解决方法整理
- VC程序调试常见错误
- VC程序提示 Expression:("Buffer too small",0) 错误
- VC ++ 编译模拟器常见错误整理
- C++\C编程程序常见错误整理
- VC编译程序,运行时提示运行错误“由于应用程序的配置不正确,……”解决方法
- VC程序提示 Expression:("Buffer too small",0) 错误
- VC开发程序,常见C2001,C2005等错误的原因浅析
- 运行hadoop MapReduce程序常见错误及解决方法整理
- 多线程Java程序中常见错误的巧处理
- 最常见的20种VC++编译错误信息集合
- 编写代码实现,模拟用户登录情景,并且只能登录三次,只允许输入三次密码,如果密码正确则提示登录成功,如果三次均输入错误,则退出程序。
- Spark程序运行常见错误解决方法以及优化