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

为啥我输出的数字这么奇怪啊

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

hd = num/100; td =  num/10%10        ; 

        sd =  num%10  ;        

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

  {            printf("水仙花数字:%d\n", num);     

输出的是 水仙花数字:1 水仙花数字:8 水仙花数字:729 水仙花数字:370 水仙花数字:371 水仙花数字:378 水仙花数字:1099 哪个大神看看哪里错了 为啥会这样啊

正在回答

5 回答

if的括号里面应该是逻辑判断语句,“=”是赋值符号,“==”是逻辑判断符号

2 回复 有任何疑惑可以回复我~
#1

慕仰0486798 提问者

非常感谢!
2017-09-07 回复 有任何疑惑可以回复我~

找到原因了 是因为我num = hd * hd * hd + sd * sd * sd + td * td *td这句不应该打=,应该是==

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

你把十位的表达式写成  td=(num-hd*100)/10 试试

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

这回复是不是有问题啊,为啥缺几个字符,很让人误解

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

十位和个位上的数字取值有问题,应该是td=num/10%10,sd=num%10才对

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

Belfoire

这回复是不是有问题啊,为啥缺几个字符,很让人误解
2017-07-26 回复 有任何疑惑可以回复我~
#2

慕仰0486798 提问者

没有吧,我上面不就是这样打的吗 - -|
2017-07-27 回复 有任何疑惑可以回复我~
#3

Belfoire 回复 慕仰0486798 提问者

我不是这样回复的,有几个字符不显示出来很无语?
2017-07-27 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为啥我输出的数字这么奇怪啊

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