質問: -0.000000としましたが、今度は全部条件にあてはまりませんでした。 あんまり深く追求する必要は無いのかもしれませんが、知っている方がいらしたら教えてください。 ちなみにプログラム自体は場合分けの条件をsin(x)ではなく、角度にして解決しました。
回答: `0.0==-0.0`は`true`です。 条件が成立しなかったのは、sin(180度)が誤差のために正確には0ではなかったためではないですか? ``` int main(){ printf("%.17f\n", sin(0.0)); //=>0.00000000000000000 printf("%.17f\n", sin(M_PI)); //=>0.00000000000000012 return 0; } ```