輸出的結(jié)果包含一位數(shù)
#include?<stdio.h> int?main() { ????int?num,?sd,?td,?hd; ????for(num=100;num<1000;num++) ????{ ????????hd?=num/100; ????????td?=(num%100)/10; ????????sd?=num%10; ????????if(num==hd*hd*hd+td*td*td+sd*sd*sd)? ????????{ ????????????printf("水仙花數(shù)字:%d\n",?num);???? ????????} ????} ????return?0;???? }
如果第10行為?if(num=hd*hd*hd+td*td*td+sd*sd*sd) 輸出的數(shù)字中包含一位數(shù)的數(shù)字;
為什么會這樣?
2015-04-26
這是因?yàn)閚um=hd*hd*hd+td*td*td+sd*sd*sd為賦值語句即將hd*hd*hd+td*td*td+sd*sd*sd所得的結(jié)果賦值給num,而且賦值語句一般都是能成功的所以返回值為true,所以會進(jìn)入if語句輸出num為一位數(shù)。例如第一次循環(huán)hd=1,td=0,sd=0,num=1,輸出結(jié)果為"水仙花數(shù)字:1"