为什么以下无法在Visual Studio 2010 C ++下编译?

时间:2012-06-18 22:48:51

标签: c++ visual-studio-2010 visual-c++

// A simple program that computes the square root of a number
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main (int argc, char *argv[])
{
  if (argc < 2)
  {
    fprintf(stdout,"Usage: %s number\n",argv[0]);
    return 1;
  }

  double inputValue = atof(argv[1]);
  double outputValue = sqrt(inputValue);
  fprintf(stdout,"The square root of %g is %g\n",
          inputValue, outputValue);
  return 0;
}

我收到以下错误

错误1错误C2143:语法错误:缺少&#39 ;;&#39;之前&#39;键入&#39;
错误2错误C2143:语法错误:缺少&#39 ;;&#39;之前&#39;键入&#39;错误3错误C2065:&#39; inputValue&#39; :未声明的标识符
错误4错误C2065:&#39; outputValue&#39; :未声明的标识符

1 个答案:

答案 0 :(得分:4)

如果你命名文件.cpp,它应该编译并运行正常。

如果您将文件命名为.c,则会失败。

原因是你需要在C函数的顶部声明所有变量;你不能在使用时声明它们。