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

来源:4-9 循环结构之for循环(二)

慕仰0486798

2017-07-26 00:23

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回答

  • 0_尘_0
    2017-08-10 10:50:25
    已采纳

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

    慕仰0486...

    非常感谢!

    2017-09-07 11:38:36

    共 1 条回复 >

  • 慕仰0486798
    2017-07-28 22:50:22

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

  • 奈落12
    2017-07-28 13:13:42

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

  • Belfoire
    2017-07-26 02:22:26

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

  • Belfoire
    2017-07-26 02:20:44

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

    Belfoi... 回复慕仰0486...

    我不是这样回复的,有几个字符不显示出来很无语?

    2017-07-27 21:05:31

    共 3 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926210 学习 · 20797 问题

查看课程

相似问题