为什么我不能在 pow() 函数中使用整数?
Why can't I use integers in the pow() function?
只是免责声明,我是这些东西的新手。我真的只是刚刚进入 C 语言,并进入了一般的编程领域,所以请注意,谢谢。
你好,Stack Overflow。我这里有一段代码,无论出于何种原因都不想正常工作。 pow()
函数似乎不喜欢我输入整数的方式,我的 IDE 告诉我参数 1(包含整数的参数)的参数类型不兼容。难道我做错了什么?这是初学者的错误,我只是错过了什么吗?可以在 pow()
函数中使用整数作为参数吗?
这是我正在使用的代码行。另外,请注意,我正在尝试制作一个程序,该程序接受一个整数并将其平方,作为一个非常基本的项目通过 printf("text")
与用户通信。
SquaredIV = pow(&InputVar, 2);
如果需要,我可以 post 更多行代码,但现在我将保留它。请帮我解决这个问题。谢谢
在 c 中 &
是 address-of
运算符,它将产生 inputvar
的地址 pow 将无法用它做任何有用的事情..
代码应该在开头附近。
#include <math.h>
然后在文件中
SquaredIV = pow(InputVar, 2);
实际上并没有使用整数作为 pow 的输入,将会发生的是编译器将在 math.h 中找到 pow 的定义,并且知道它需要将 int
转换为 double
(双精度浮点数)并将其发送给 pow。 Pow 将 return 作为 double
的结果,编译器将知道将其转换为 SquaredIV
的任何类型。
整数平方的常用(也是最有效的)方法是将其乘以自身。
SquaredIV = InputVar*InputVar;
Can you use integer as arguments to pow
function?`
是的,你可以。整数值隐式转换为正确类型的浮点值。
你的情况:
SquaredIV = pow(&InputVar, 2);
问题是 &InputVar
不是整数类型而是指针类型,因为 &
一元运算符生成指向操作数对象的指针。
只是免责声明,我是这些东西的新手。我真的只是刚刚进入 C 语言,并进入了一般的编程领域,所以请注意,谢谢。
你好,Stack Overflow。我这里有一段代码,无论出于何种原因都不想正常工作。 pow()
函数似乎不喜欢我输入整数的方式,我的 IDE 告诉我参数 1(包含整数的参数)的参数类型不兼容。难道我做错了什么?这是初学者的错误,我只是错过了什么吗?可以在 pow()
函数中使用整数作为参数吗?
这是我正在使用的代码行。另外,请注意,我正在尝试制作一个程序,该程序接受一个整数并将其平方,作为一个非常基本的项目通过 printf("text")
与用户通信。
SquaredIV = pow(&InputVar, 2);
如果需要,我可以 post 更多行代码,但现在我将保留它。请帮我解决这个问题。谢谢
在 c 中 &
是 address-of
运算符,它将产生 inputvar
的地址 pow 将无法用它做任何有用的事情..
代码应该在开头附近。
#include <math.h>
然后在文件中
SquaredIV = pow(InputVar, 2);
实际上并没有使用整数作为 pow 的输入,将会发生的是编译器将在 math.h 中找到 pow 的定义,并且知道它需要将 int
转换为 double
(双精度浮点数)并将其发送给 pow。 Pow 将 return 作为 double
的结果,编译器将知道将其转换为 SquaredIV
的任何类型。
整数平方的常用(也是最有效的)方法是将其乘以自身。
SquaredIV = InputVar*InputVar;
Can you use integer as arguments to
pow
function?`
是的,你可以。整数值隐式转换为正确类型的浮点值。
你的情况:
SquaredIV = pow(&InputVar, 2);
问题是 &InputVar
不是整数类型而是指针类型,因为 &
一元运算符生成指向操作数对象的指针。