为了账号安全,请及时绑定邮箱和手机立即绑定

为什么编译后是结果1000

#include<stdio.h>

int main()

{

int num,sd,td,hd;

for(num=100;num<1000;num++);

{

hd=num/100;

td=(num % 100) /10;

sd=num % 10;

if(num==td*td*td + sd*sd*sd + hd*hd*hd)

{

printf("%d\n",num);

}

}

return 0;

}

http://img1.sycdn.imooc.com//5ee8363600011a4612230639.jpg


正在回答

4 回答

for循环后面你加了分号(;)结束了for循环,if判断内容和循环内容就单独计算了

0 回复 有任何疑惑可以回复我~

td的约束不对,数学关系的错误

0 回复 有任何疑惑可以回复我~

我也是1000,结果仔细检查我for和if后面都加了;分号

0 回复 有任何疑惑可以回复我~

td=(num % 100) /10;

这里td = 0;

所以结果是1000;

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么编译后是结果1000

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信