gpt4 book ai didi

c 中用户定义函数的冲突类型

转载 作者:行者123 更新时间:2023-11-30 18:16:53 24 4
gpt4 key购买 nike

我在C语言工作了很长时间。这里我必须实现三个功能,其中包括

  1. 获取一个数字并显示一半

2.求数字的平方

3.获取两个数并显示它们的和与减法。

我正在使用 devC++,当我编译代码时,我收到标题中提到的错误,该错误如果 squareInput 则类型冲突。这里出了什么问题:

#include<stdio.h>
#include<conio.h>
int main(){

float x;
printf("enter a number\n");
scanf("%f",&x);

//TASK 1 : display half of the number
pirntf("half of x is = %.3f",x);

//TASK 2 : square of number

squareInput(x); //call square function from here

// TASK 3 : get two numbers and display both summation and sabtraction

float num1,num2; // declare two floating number( floating numbers can hold decimal point numbers
printf("enter num1 \n");
scanf("num1 is =%f",&num1);
printf("enter num2 \n");
scanf("num2 is =%f",num2);
calculate(num1,num2);// call calculate function

getch();
}

float squareInput(float input){

float square=input*input;
printf("\n square of the number is %.3f \n",square);
return 0;
}

float calculate(float num1,float num2){

//summation
float summation= num1+num2; // declare antoher variable called summation to hold the sum
//sabtraction
float sabtraction=num1-num2;

printf("summation is %.2f \n",summation);
printf("sabtraction is %.2f \n",sabtraction);

return 0;
}

最佳答案

没有原型(prototype),事情就会出错。添加

float squareInput(float input);
float calculate(float num1,float num2);

int main()前面。

如果在调用函数之前未声明该函数,编译器会将其视为返回 int 的函数。但是,squareInput() 返回 float,因此编译器(或链接器,也许)会向您提示。

还要注意,定义是声明(但显然反之亦然),因此将 squareInput()calculate() 的定义移到它们所在的位置前面也称为作品。

关于c 中用户定义函数的冲突类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35435953/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com