为什么我得到’被叫对象0不是函数错误’?

我是一个C#开发人员,试图学习C(后面跟着C ++)。 我正在本地工作,使用vim作为我的文本编辑器,使用Gnu C编译器(gcc)编译Ubuntu。

我正在尝试编写一个简单的Celcius => Fahrenheit转换器,我收到以下错误:

被称为对象’0’不是一个函数

我的代码如下:

#include  main() { for(int i = 0; i < 300; i+20) { int celcius = (5/9)(i-32); printf("%d - %d \n", i, celcius); } } 

我正在编译:

 gcc FahrenheitToCelcius.c -std=c99 

有人能指出我在这里做错了吗?

谢谢

在C(我也假设在其他语言中):))需要算术运算符来执行算术运算。
更改

 int celcius = (5/9)(i-32); 

 int celcius = (5/9)*(i-32); 

正如人们所指出的那样

 int celcius = (5/9)(i-32); 

应该

 int celcius = (5/9)*(i-32); 

但是,您获得该特定错误消息的原因是

 int celcius = (5/9)(i-32); 

在运行时被评估为

 int celcius = (0)(i-32); 

并且运行时系统将(0)视为指针。

因此,您需要更改数学以避免整数除法

这条线有问题:

 int celcius = (5/9)(i-32); 

因为编译器认为你正在尝试调用(5/9)指定的函数。 如果你想做一个乘法,你应该做:

 int celcius = (5/9)*(i-32); 

代替。

此外,如果您希望从该计算返回浮点值,您应该:

 int celcius = (5.0/9.0)*(i-32.0); 

因为5/9是整数除法,永远不会返回浮点值。

更改

 int celcius = (5/9)(i-32) 

  int celcius = (5/9)*(i-32);