首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

请大神帮忙检查一下解决方案

2013-08-14 
请大神帮忙检查一下#includeiostreamusing namespace stdint main(){const size_t array10int ixcon

请大神帮忙检查一下
#include<iostream>
using namespace std;
int main()
{
const size_t array=10;
int ix;
const unsigned array_size=20;
int ia[array_size];
for(size_t ix=0;ix!=array_size;++ix)
ia[ix]=ix;
cout<<ia[ix]<<endl;
return 0;
}

出现的问题是1)从“size_t”转换到“int”,可能丢失数据
            2)使用了未初始化的局部变量“ix” 局部变量
[解决办法]


#include<iostream>
using namespace std;
int main()
{
const size_t array=10;
//int ix; //没有使用,下面又定义了一个size_t 类型的ix ,注释掉这句就号了
const unsigned array_size=20;
int ia[array_size];
for(size_t ix=0;ix!=array_size;++ix)
ia[ix]=ix;
cout<<ia[ix]<<endl;
return 0;
}

[解决办法]
int ix;
const unsigned array_size=20;
int ia[array_size];
for(size_t ix=0;ix!=array_size;++ix)
ia[ix]=ix;
cout<<ia[ix]<<endl;
return 0;
}

虽然能编译通过 , 但我想你自己 可能都不知道ia[ix]=ix;这里哪个是哪个了吧.
虽然可以知道是局部优先.
你的程序去掉 int ix; 这句即可.

热点排行