- 注册时间
- 2009-7-21
- 最后登录
- 1970-1-1
- 威望
- 星
- 金币
- 枚
- 贡献
- 分
- 经验
- 点
- 鲜花
- 朵
- 魅力
- 点
- 上传
- 次
- 下载
- 次
- 积分
- 4489
- 在线时间
- 小时
|
发表于 2010-3-30 18:58:24
|
显示全部楼层
编译器奇怪的地方很多
gcc /02能运行cl /02就非法操作
adsmkeyh(8);
adsmkeyh(4);
adsmkeyh(2);
adsmkeyh(1);
for(i=1;i<7;i++)
{
if (i==1) //循环开始时有
for(iterh=key_recn2h[i].begin();iterh != key_recn2h[i].end(); iterh++)
{
addsmkeyh(3);
addsmkeyh(9);
addsmkeyh(5);
}
if(i==2) //循环开始时有
for(iterh=key_recn2h[i].begin();iterh != key_recn2h[i].end(); iterh++)
{
addsmkeyh(10);
}
if(i==4) //循环开始时有
for(iterh=key_recn2h[i].begin();iterh != key_recn2h[i].end(); iterh++)
{
addsmkeyh(6);
addsmkeyh(12);
}
if(i==3) //循环开始时没有,在i=1计算完后有
for(iterh=key_recn2h[i].begin();iterh != key_recn2h[i].end(); iterh++)
{
addsmkeyh(11);
addsmkeyh(7);
addsmkeyh(15);
}
if(i==5) //循环开始时没有,在i=1计算完后有
for(iterh=key_recn2h[i].begin();iterh != key_recn2h[i].end(); iterh++)
{
addsmkeyh(13);
}
if(i==6) //循环开始时没有,在i=4计算完后有
for(iterh=key_recn2h[i].begin();iterh != key_recn2h[i].end(); iterh++)
{
addsmkeyh(14);
}
}
改成下面这样,所有计算在循环开始时都有了
for(i=1;i<7;i++)
{
if (i==1)
for(iterh=key_recn2h[i].begin();iterh != key_recn2h[i].end(); iterh++)
{
addsmkeyh(3);
addsmkeyh(9);
addsmkeyh(5);
addsmkeyh(11);
addsmkeyh(7);
addsmkeyh(15);
addsmkeyh(13);
}
if(i==2)
for(iterh=key_recn2h[i].begin();iterh != key_recn2h[i].end(); iterh++)
{
addsmkeyh(10);
}
if(i==4)
for(iterh=key_recn2h[i].begin();iterh != key_recn2h[i].end(); iterh++)
{
addsmkeyh(6);
addsmkeyh(14);
addsmkeyh(12);
}
} |
|