如何修复编译器错误:在'{'token |“之前预期'=',',',';','asm'或'attribute'?

时间:2014-10-16 21:00:14

标签: c date-arithmetic

我正在尝试构建一个代码来计算我的电子产品类的简单串联电容式电抗器中的电容电抗。代码的目的是无关紧要的,因为问题是我做了一些非常错误的事情并且需要帮助我的C技能。如果您需要,这是公式:

Formula for Capacitance

这是我的代码: (不包括标题,因为它们会导致帖子的html格式错误)

const float pi = 3.145962;

float xc(float frequency, float capacitance)





int main()
{

float capreac;
 float valueofc ()
 float valueoff ()
   capreac = xc(f;c;)
}


float xc(float frequncy, float capaitance);
{
    float answer;
    answer = (1/(2*pi*capacitance*frequency));
     return(answer);


}

我的IDE是CodeBlocks,这是我班级使用的。

它拒绝运行,在'{'token |“之前说明”| 13 |错误:预期'=',',',';','asm'或'属性'在“float xc”行和“| 6 | error:原型函数定义中的旧式参数声明|”在xc的定义行。

对这个新手有什么希望?

2 个答案:

答案 0 :(得分:2)

1)你需要一个分号和原型的结尾:

float xc(float frequency, float capacitance);

2)变量声明没有"()"

float f;
float c;

3)参数用逗号分隔:capreac = xc(f, c);

4)参数名称应与变量名称匹配:

float xc(float frequency, float capacitance);
{
  float answer;
  answer = (1.0/(2.0*pi*capacitance*frequency));
  ...

答案 1 :(得分:2)

#include <stdio.h>
#include <math.h>
typedef long double ldouble; 
ldouble xc(ldouble f, ldouble C){ return 1/(2*M_PIl*f*C);}
int main(int argc, const char *argv[])
{
  ldouble f, C, answer;

  puts("Enter f:");
  scanf("%Lf", &f);
  puts("Enter C:");
  scanf("%Lf", &C);
  answer = xc(f, C);
  printf("Xc=%Lf\n", answer);

  return 0;
}