求问为啥abc放到for外面就出错?
int main(void)
{
int i,a,b,c;
a=i/100;
b=(i%100)/10;
c=i%10;
for(i=100;i<1000;++i)
{
if(i==a*a*a+b*b*b+c*c*c)
printf("%d\n",i);
}
return 0;
}
放在for循环外面的时候,变量 i 没有初始化,没有赋值,在计算abc时使用了未初始化的变量,所以报错
而且,abc放在for循环外面的时候,abc的值不会随 i 的改变而改变,for循环就失去意义了。
abc放到for外面就只计算一次
应该放for里面,每次循环i的值改变后abc要重新计算
如有帮助,望采纳!谢谢!
#include <stdio.h>
int main()
{
int i,a,b,c;
for(i=100;i<1000;i++){
a=i/100;
b=(i%100)/10;
c=i%10;
if(i==a*a*a+b*b*b+c*c*c){
printf("%d\n",i);
}
}
return 0;
}