回覆列表
  • 1 # 使用者8852944140293

    double pow(double x, double y);

    pow()用來計算以x 為底的 y 次方值,然後將結果返回

    可能導致錯誤的情況:

    如果底數 x 為負數並且指數 y 不是整數,將會導致 domain error 錯誤。

    如果底數 x 和指數 y 都是 0,可能會導致 domain error 錯誤,也可能沒有;這跟庫的實現有關。

    如果底數 x 是 0,指數 y 是負數,可能會導致 domain error 或 pole error 錯誤,也可能沒有;這跟庫的實現有關。

    如果返回值 ret 太大或者太小,將會導致 range error 錯誤。

    錯誤程式碼:

    如果發生 domain error 錯誤,那麼全域性變數 errno 將被設定為 EDOM;

    如果發生 pole error 或 range error 錯誤,那麼全域性變數 errno 將被設定為 ERANGE。

    注意,使用 GCC 編譯時請加入-lm。

    #include

    #include

    intmain()

    { printf("7 ^ 3 = %f\n",pow(7.0,3.0));

    printf("4.73 ^ 12 = %f\n",pow(4.73,12.0));

    printf("32.01 ^ 1.54 = %f\n",pow(32.01,1.54));

    return0;}

    輸出結果:

    7 ^ 3 = 343.000000

    4.73 ^ 12 = 125410439.217423

    32.01 ^ 1.54 = 208.036691

  • 中秋節和大豐收的關聯?
  • 穿100多元一件的衣服和1000多元一件的衣服,有什麼不一樣的嗎?