3

我是一名尝试使用 VS 2012 Ultimate 学习 C 编程的初学者。

我刚刚学会了如何制作“摄氏度到华氏度”转换器,所以我决定将其进一步用于“球体体积”计算器。这是我输入的内容:

#include <stdio.h>
#include <string.h>

char line[100]; /*Line input by the user*/
char line_2[100]; /*Second line input by the user*/
float radius; /*Value of the radius input by the user*/
float pi; /*Value of the pi input by the user*/
float volume /*Result of the calculation*/
float result_volume; /*Result of the second calculation*/
float result_volume2; /*Result of the third calculation*/
float result_volume3; /*Result of the fourth calculation*/

int main()
{
    printf("Please write the value of the radius: ");
    fgets(line,sizeof(line),stdin);
    sscanf(line,"%f",&radius);
    printf("Please write the value of the Pi ");
    fgets(line_2,sizeof(line_2),stdin);
    sscanf(line_2,"%f",&pi);
    volume = radius*radius*radius;
    result_volume = volume *pi;
    result_volume2 = result_volume*4;
    result_volume3 = result_volume2/3;
    printf("When the radius is %f, and the Pi, %f, then the volume of the sphere is: 
                %f\n", radius, pi, result_volume3);
    return (0);
}

当我尝试编译它时,我不断收到错误:

Error: Expected a ";" on float result_volume.

我在哪里犯了错误,我该如何解决?请帮忙!

4

2 回答 2

4

在您显示的代码中,;之后缺少

float volume /*Result of the calculation*/

它应该是:

float volume; /*Result of the calculation*/

注意: 当您遇到此类错误时,通常应该查看发生错误的行之前的行。在您的情况下,这是上一行。

发生的情况是编译器仅在到达;下一行时才看到问题。在那里,它意识到整两行并没有发出一个命令,并且应该在某处进行剪切。但它无法告诉它在哪里。因此,它会在看到错误时标记错误,而不是在实际发生的位置标记错误。

然而,在该领域已经有了显着的改进,例如,使用 Clang,MAC OS X IDE Xcode 能够准确地建议;任何需要的地方。

于 2013-04-11T09:38:50.030 回答
0
float volume /*Result of the calculation*/
float result_volume; /*Result of the second calculation*/

您忘记了后面的分号 ( ;)float volume

float volume; /*Result of the calculation*/
float result_volume; /*Result of the second calculation*/
于 2013-04-11T09:40:03.137 回答