繁体   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