初始化(赋初值)的重要性

简介: 初始化(赋初值)的重要性

去掉调试信息,程序时好时坏;加上调试信息,程序好了。一个复杂且大的程度,不能调试是非常要命的。没有初始化,是可能原因之一。

下面举例说明:

int GetMax(int data[],int iNum)
{
 int iMax ;
 printf("GetMin 0X%x/n",iMax);
 for(int i = 0 ; i < iNum ; i++ )
 {
  if(data[i] > iMax)
   iMax = data[i] ;
 }
 return iMax;
}
void CTest0729Dlg::OnButton1()
{
 int a[] = {3,2,1,-3,-1};
 int y  = GetMax(a,5);
 CString strMess ;
 strMess.Format("%d",y);
 AfxMessageBox(strMess);
}

Debug版结果为3(正确),Release版为5(错误,根本没5),将“Optimizations”设置成“Disable(Debug)”结果为1243280。

解决方法“int iMax ;”改为“int iMax=0 ;”


相关文章
|
6月前
|
C语言
结构体变量的初始化
结构体变量的初始化。
39 3
|
4月前
变量不初始化
【7月更文挑战第2天】变量不初始化。
39 0
|
存储 C语言 C++
C++中变量初始值问题
C++中变量初始值问题
215 0
|
6月前
|
存储 C# 容器
掌握 C# 变量:在代码中声明、初始化和使用不同类型的综合指南
变量是用于存储数据值的容器。 在 C# 中,有不同类型的变量(用不同的关键字定义),例如: int - 存储整数(没有小数点的整数),如 123 或 -123 double - 存储浮点数,有小数点,如 19.99 或 -19.99 char - 存储单个字符,如 'a' 或 'B'。Char 值用单引号括起来 string - 存储文本,如 "Hello World"。String 值用双引号括起来 bool - 存储具有两个状态的值:true 或 false
100 2
|
C语言
变量初始化和不初始化
变量初始化和不初始化。
145 1
|
存储 C语言
C工程中,全局变量要不要赋初值
C工程中,全局变量要不要赋初值
115 0
|
人工智能 Shell
将结果分别赋值给变量
将结果分别赋值给变量
64 0
二维数组赋初值你会几种方法?
二维数组赋初值你会几种方法?
108 0
|
存储 编译器 C#
【C#基础】C# 变量与常量的使用
编程语言 C# 变量和常量的介绍。
157 0
【C#基础】C# 变量与常量的使用
|
存储
静态局部变量的值(static局部变量)和自动变量(auto变量)的说明
静态局部变量的值(static局部变量): 有时希望函数中的局部变量的值在函数调用结束后不消失而继续保留原值,即其占用的存储单元不释放,在下一次调用该函数时,该变量已有值(就是上一次函数调用结束时的值),这时就应该指定该局部变量为“静态局部变量”,用关键字static进行声明。
160 0