簡體   English   中英

為什么我不能在pow()函數中使用整數?

[英]Why can't I use integers in the pow() function?

只是一個免責聲明,我是這些東西的新手。 我只是真的只是進入了C,並進入了一般的編程,所以請注意,謝謝。

你好,Stack Overflow。 我這里有一段代碼,無論出於什么原因都不想正常工作。 pow()函數似乎不喜歡我輸入要使用的整數的方式,我的IDE告訴我參數1的參數類型(包含整數的參數)是不兼容的。 難道我做錯了什么? 這是一個初學者的錯誤,我只是錯過了什么? 你可以在pow()函數中使用整數作為參數嗎?

這是我正在使用的代碼行。 另外,請注意我正在嘗試制作一個取整數並對其進行平方的程序,通過printf("text")作為一個非常基本的項目與用戶進行通信。

SquaredIV = pow(&InputVar, 2);

如果需要,我可以發布更多行代碼,但是現在我只想離開這個。 請幫我解決這個問題。 謝謝。

你能用整數作為pow函數的參數嗎?`

是的你可以。 整數值隱式轉換為右類型的浮點值。

在你的情況下:

SquaredIV = pow(&InputVar, 2);

問題是&InputVar不是整數類型而是指針類型,因為&一元運算符產生一個指向操作數對象的指針。

在C &address-of算子會產生的地址inputvar POW將無法做任何有用..

代碼應該在開頭附近。

#include <math.h>

然后在文件中

SquaredIV = pow(InputVar, 2);

實際上並沒有使用整數作為pow的輸入,會發生什么是編譯器會在math.h中找到pow的定義並且知道它需要將int轉換為double (雙精度浮點)並將其發送給pow 。 Pow會將結果返回為double ,並且compilwe會知道將其轉換為SquaredIV任何類型。

平方整數的通常(最有效)方法是將其自身相乘。

SquaredIV = InputVar*InputVar;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM