蛇足ですが、単純に小数点以下の数値が0か非0かを
調べたい場合は、if(x == (double)(int)x) の方が速いです。
また、0か非0かではなく、73氏のようにイプシロン以下であるか
判定するのであれば、
if( fabs(fmod(x,&temp)) < e)...
になるでしょう。