数组元素在使用前一定要初始化否则运行结果将是不确定的
2013-03-10 14:27
190 查看
/*本程序要求输入3年内每个月的销售额,并逐一输出每一年的销售额,最后计算出三年的总销售额*/
#include<iostream>
int main()
{
using namespace std;
const int YEAR=3;
const int MONTH=12;
int sales[YEAR][MONTH];
int sum[YEAR]={0}; //存储每一年的销售额
//一定要初始化,否则结果将是不确定的
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
int sum[YEAR];//没有初始化的情况
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
int total=0;
const char * months[]=
{
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"Sepetember",
"October",
"November",
"December"
};
for(int year=0;year<YEAR;year++)
{
cout<<"第"<<year+1<<"年"<<endl;
for(int month=0;month<MONTH;month++)
{
cout<<"《C++ For Fools》"<<months[month]<<"'s sales : ";
cin>>sales[year][month];
sum[year]+=sales[year][month];//没有初始化时,此时sum[year]的值将是不确定的
}
total+=sum[year];
cout<<"\n第 "<<year+1<<" 年卖了 : "<<sum[year]<<"本."<<endl<<endl<<endl;
}
cout<<"\n这"<<YEAR<<"年一共卖了 : "<<total<<"本."<<endl;
return 0;
}
1.在没有初始化的情况下:
![](http://img.my.csdn.net/uploads/201303/10/1362896926_9308.png)
输出的结果将是不确定的
2.初始化后
#include<iostream>
int main()
{
using namespace std;
const int YEAR=3;
const int MONTH=12;
int sales[YEAR][MONTH];
int sum[YEAR]={0}; //存储每一年的销售额
//一定要初始化,否则结果将是不确定的
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
int sum[YEAR];//没有初始化的情况
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
int total=0;
const char * months[]=
{
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"Sepetember",
"October",
"November",
"December"
};
for(int year=0;year<YEAR;year++)
{
cout<<"第"<<year+1<<"年"<<endl;
for(int month=0;month<MONTH;month++)
{
cout<<"《C++ For Fools》"<<months[month]<<"'s sales : ";
cin>>sales[year][month];
sum[year]+=sales[year][month];//没有初始化时,此时sum[year]的值将是不确定的
}
total+=sum[year];
cout<<"\n第 "<<year+1<<" 年卖了 : "<<sum[year]<<"本."<<endl<<endl<<endl;
}
cout<<"\n这"<<YEAR<<"年一共卖了 : "<<total<<"本."<<endl;
return 0;
}
1.在没有初始化的情况下:
![](http://img.my.csdn.net/uploads/201303/10/1362896926_9308.png)
输出的结果将是不确定的
2.初始化后
![](http://img.my.csdn.net/uploads/201303/10/1362897119_5333.png)
相关文章推荐
- 全局函数的Result一定要每次都初始化,否则上次的结果会被保持到下一次继续使用
- 关于使用初始化块初始化变量的几种情况的运行结果分析
- 数据结构之栈的初始化、创建、入栈、出栈、销毁-c++代码实现及运行实例结果
- 数据结构之队列的基本操作入队出队初始化删除-c++代码实现及运行实例结果
- VC中在对话框上使用Rich Edit控件前一定要用AfxInitRichEdit()初始化RichEdit环境
- c++使用动态规划dp(自底向上)重构解决钢条切割输出最大收益和切割方案及运行实例结果
- struct使用继承c++代码实例及运行结果
- 数据结构之栈的初始化、创建、入栈、出栈、销毁-c++代码实现及运行实例结果
- 数据结构之队列的基本操作入队出队初始化删除-c++代码实现及运行实例结果
- c++使用动态规划dp(自底向上)重构解决钢条切割输出最大收益和切割方案及运行实例结果
- 3. 设计一个带有菜单的图形用户界面程序,使用级联菜单控制文字的字体和颜色,运行结果如下图所示
- linux命令之目录监控 字符串拆分 监控命令运行结果 统计行数 去除文本头尾空格 获取网卡名浮点数运算等命令使用技巧
- 函数指针的使用c++代码实例及运行结果
- struct使用继承c++代码实例及运行结果
- 数据结构之栈的初始化、创建、入栈、出栈、销毁-c++代码实现及运行实例结果
- c++ map使用问题【运行结果不一样】
- 数据结构之队列的基本操作入队出队初始化删除-c++代码实现及运行实例结果
- c++使用动态规划dp(自底向上)重构解决钢条切割输出最大收益和切割方案及运行实例结果
- Android Studio导入Eclipse项目操作步骤 在选SDK时一定不要使用默认,要改成19,否则运行按键就是灰色,Eclipse导入Android Studio项目
- 函数指针的使用c++代码实例及运行结果