为什么下面的程序无结果(c++)

来源:百度知道 编辑:UC知道 时间:2024/05/27 08:42:32
#include "iostream.h"
#include<math.h>
void main()
{
int a,b,c,d;
for(;a>10;a++)
{
for(;b>10;b++)
{
for(a=1,b=0,c=0;c>10;c++)
{
d=a*100+b*10+c;
if((d-a^3-b^3-c^3)==0)
cout<<d<<endl;
}
}
}
}

唯一的输出cout<<d<<endl; 在循环内的if语句中。然而:
1、for(a=1,b=0,c=0;c>10;c++)
循环的判断条件是c〉10,而c的初值是0,所以循环根本不会执行。
所以不会执行。
2、^在C++中是异或运算符,不是乘方,所以if((d-a^3-b^3-c^3)==0) 成立的机会也很小(d太大),所以即便循环运行,也进不到if语句中,所以不会运行。

你输的什么?问题太多了,很多地方是不是丢语句了。