代码是诗是歌是山川是江河是春风不如你
2016-11-05 07:45
#include <stdio.h>
#include <stdlib.h>
int main()
{
int num,sw,gw,bw;
for(num=100;num<1000;num++)
{
gw=num%10;
sw=(num%100)/10;
bw=num/100;
if(num=gw*gw*gw+bw*bw*bw+sw*sw*sw)
{
printf("%d\n",num);
}
}
printf("以上为所有水仙花数");
return 0;
}
为什么这个输出水仙花的代码,在if后的条件中只打一个等号会输出1、8、729、370、371、378、1099这几个数字,而打两个等号就输出的是对的呢?
两个等号在c语言里是判断符号(判断等号两边是否相等,返回值只有1或0),而一个等号则为赋值符号,将右边的值赋值给左边。
C语言入门
926210 学习 · 20797 问题
相似问题