我正在尝试将2个参数(浮点数和浮点数组)发送到C中的函数。
我收到此错误:
test.c:10:1: error: conflicting types for ‘result’
result(float *array, float number){
^
test.c:10:1: note: an argument type that has a default promotion can’t match an empty parameter name list declaration
test.c:7:5: note: previous implicit declaration of ‘result’ was here
result(array, number);
我的代码是:
#include <stdio.h>
#include <math.h>
main()
{
float array[3] = {1.5, 2.6, 3.7};
float number = 2.3;
result(array, number);
}
result(float *array, float number)
{
printf("number: %f\n", number);
printf("array 1: %f\n", array[1]);
}
我是C的新手并且知道在其他语言中这会有用,所以对此处的任何帮助都会非常感激!
答案 0 :(得分:3)
代码是这样的:`
#include <stdio.h>
#include <math.h>
void result(float array[3], float number){
printf("number: %f\n", number);
printf("array 1: %f\n", array[1]);
}
main(){
float array[3] = {1.5, 2.6, 3.7};
float number = 2.3;
result(array, number);
}
`
答案 1 :(得分:2)
您无法在没有原型的情况下访问main
之后声明的函数。像这样重写你的代码:
#include <stdio.h>
#include <math.h>
int result(float *, float);
int main()
{
/* ... */
}
int result(float *array, float number)
{
/* ... */
}