[英]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.