问答详情
源自:4-9 循环结构之for循环(二)

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

#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;    


提问者:慕瓜2277694 2020-02-02 17:12

个回答

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

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

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

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

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