C 注:预计为';浮动*';但参数的类型是';int*';
我有个警告 注意:应为“float*”,但参数的类型为“int*” 我的节目是C 注:预计为';浮动*';但参数的类型是';int*';,c,types,floating-point,int,C,Types,Floating Point,Int,我有个警告 注意:应为“float*”,但参数的类型为“int*” 我的节目是 #include <stdio.h> //header file void foo(float *); int main() { int i = 10, *p = &i; foo(&i); } void foo(float *p) { printf("%f\n", *p); } #包含//头文件 无效foo(浮动*); int main() { int i=
#include <stdio.h> //header file
void foo(float *);
int main()
{
int i = 10, *p = &i;
foo(&i);
}
void foo(float *p)
{
printf("%f\n", *p);
}
#包含//头文件
无效foo(浮动*);
int main()
{
int i=10,*p=&i;
foo&i;
}
无效foo(浮动*p)
{
printf(“%f\n”,*p);
}
产量为0.000 000
为什么?正如警告所说,您正在向
foo()
传递指向int
的指针,但foo()
需要指向float
的指针。因此,或者您将i
声明为float
,或者将foo()
的参数更改为int*
,foo函数需要的参数类型为int*
(指向整数的指针),而不是float*
(指向浮点的指针)。将数据类型float
更改为int
,并将%d“
替换为%f”
,以消除警告。警告文本不是已经很明显了吗?您不理解的警告是什么?