我是初学者,正在尝试使用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.
我在哪里弄错了,我该如何解决这个问题?请帮忙!
答案 0 :(得分:4)
在您显示的代码中,
后缺少;
float volume /*Result of the calculation*/
应该是:
float volume; /*Result of the calculation*/
注意: 当您遇到此类错误时,通常应该查看之前行发生错误的行。在您的情况下,这是上一行。
当发生在下一行到达;
时,编译器只会看到问题。在那里,它意识到整个两行不会产生单个命令,并且切割应该在某处发生。但它无法分辨到哪里。因此,它在看到错误时标记错误,而不是实际发生的位置。
然而,该领域已经有了重大改进,例如,使用Clang,MAC OS X IDE Xcode能够在需要的地方准确地建议;
。
答案 1 :(得分: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*/