hd^3和hd*hd*hd有区别吗?为什么答案不一样

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

秃头老仙女

2019-12-20 11:14

#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(hd^3+td^3+sd^3==num) 

        {

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

        }

    }

    return 0;    


写回答 关注

1回答

  • Black_Cherry
    2019-12-20 11:28:09
    已采纳

    C语言中^并非乘方的意思,在C语言中^是位运算异或。 异或运算符"∧"也称XOR运算符。它的规则是若参加运算的两个二进位同号,则结果为0(假);异号则为1(真)。即 0∧0=0,0∧1=1, 1^0=1,1∧1=0。 

C语言入门

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

926210 学习 · 20797 问题

查看课程

相似问题