这个程序用bool变量为设么运行错误?
这是一个求完数的程序先给大家一个正确的程序,但是为什么改成bool变量后运行错误呢?
程序代码:#include <iostream>
using namespace std;
int perfect(int); //改为bool perfect(int);
int main()
{
int number;
cout<<"此程序将输出1000之内的所有完数:"<<endl;
for(number=1;number<=10;number++)
{ perfect(number); //改为if(perfect(number)) cout<<number;
}
return 0;
}
int perfect(int m )
{
int i;
int t=0;
for(i=1;i<m;i++)
{
if(m%i==0)
t=t+i;
} //为什么用bool变量就错了呢?,例如,若t==m,return true,然后在主函数中修改一下
if(t==m)
cout<<m<<endl;
return 0;
}
程序的运行结果



