在if句中输入num=而不是num== 运行的结果不同这是为什么?

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

慕瓜2277694

2020-02-02 17:12

#include <stdio.h>

int main()

{

    //定义三位数num,个位数sd,十位数td,百位数hd

    int num, sd, td, hd;

    //循环所有三位数

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

    {

        //获取三位数字num百位上的数字

        hd = num/100;

        //获取三位数字num十位上的数字

        td =(num%100)/10;

        //获取三位数字num个位上的数字

        sd =num%10;

        //水仙花数的条件是什么?

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

        {

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

        }

    }

    return 0;    


写回答 关注

2回答

  • qq_慕码人0188960
    2020-06-16 16:48:50

    =是赋值,==是判断的,所以不一样,嗯。就这样

  • 慕仰3171239
    2020-02-17 21:12:07

    因为=是赋值,是a=2是把2放到a里面,而a==2就是a就是2.可以理解为不在同一层面。

    上面语句中用=只是把相乘的值放到num里面,无法进行判断

C语言入门

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

926210 学习 · 20797 问题

查看课程

相似问题