注册 登录
编程论坛 VC++/MFC

请教一个超级基础的问题。

chlgk 发布于 2010-10-10 17:19, 482 次点击
我想产生一系列数,然后把这些数放到一个矩阵向量里,
#include<iostream.h>
void main()
{
for (int ai=0.01;ai<1;ai=ai+0.01)
{cout<<ai<<endl;}
for (int aj=1;aj<5; aj=aj+0.05)
{cout<<aj<<endl;}
for (int ak=5;ak<10; ak=ak+0.1)
{cout<<ak<<endl;}
for (int al=10;al<100;al=al+0.5)
{cout<<al<<endl;}
for (int an=100;an<5000;an=an+1)
{cout<<an<<endl;}
}
在我compile cpp文件时,出现如下错误
fatal error C1010: unexpected end of file while looking for precompiled header directive
Error executing cl.exe.
,请问是什么原因。 呵呵绝对的新手,
3 回复
#2
yangang22010-10-10 18:35
改为以下代码就没问题了
#include<iostream.h>
void main()
{
for (double ai=0.01;ai<1;ai=ai+0.01)
{cout<<ai<<endl;}
for (double aj=1;aj<5; aj=aj+0.05)
{cout<<aj<<endl;}
for (double ak=5;ak<10; ak=ak+0.1)
{cout<<ak<<endl;}
for (double al=10;al<100;al=al+0.5)
{cout<<al<<endl;}
for (double an=100;an<5000;an=an+1)
{cout<<an<<endl;}
}
你将整型的循环控制变量加上小数,这是不对的,会受到警告,而且构成了死循环,在第一个循环语句中即for (double aj=1;aj<5; aj=aj+0.05),aj的值永远为1,那条件永远满足,所以这是不对的,改为doulbe类型就可以了。


[ 本帖最后由 yangang2 于 2010-10-10 18:37 编辑 ]
#3
小佛陀2010-10-11 08:19
还没看懂!!!
#4
yangang22010-10-11 12:54
写错了,那个for循环应该是楼主写的那个for(int aj=1;aj<5;aj=aj+0.05),因为aj为整型所以aj=aj+0.05不能得到类似1.05的小数,自动取为1,即aj永远为1,所以是死循环,那个for(int ai=0.01;ai<1;ai=ai+0.01)也是类似的道理
1