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