C程序编译错误

3

我是一名刚接触编程的新手,选择了C语言作为我的第一个计算机语言。我正在做一个样例转换程序,但在编译代码时出现了以下错误。

它是什么意思,我该如何修复它呢?

谢谢!

1>------ Build started: Project: ConversionProgram, Configuration: Debug Win32 ------
1>Build started 24-07-2012 20:58:37.

1>InitializeBuildStatus:

1> Touching "Debug\ExcerciseProgram1.unsuccessfulbuild".
1>ClCompile:
1> conversion.cpp
1>c:\my documents\visual studio 2010\projects\excerciseprogram1\excerciseprogram1\question2.cpp(12): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> c:\program files\microsoft visual studio 10.0\vc\include\stdio.h(304) : see declaration of 'scanf'
1>c:\my documents\visual studio 2010\projects\excerciseprogram1\excerciseprogram1\question2.cpp(18): warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
1>c:\my documents\visual studio 2010\projects\excerciseprogram1\excerciseprogram1\question2.cpp(32): error C2857: '#include' statement specified with the /YcStdAfx.h command-line option was not found in the source file
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:00.1

我使用VB 2010作为我的集成开发环境。

1
你的 question2.cpp 文件(一个 C++ 源文件,不是 C 文件!)在第 12、18、32 行有错误。如果没有这个文件,我们无法为您提供更多帮助。 - Basile Starynkevitch
1
我认为你不应该选择C(或C ++)作为你的第一编程语言。选择OcamlSchemePythonCommon Lisp会让你学到更多。一旦你在高级语言中学会了一点编程,学习C就不那么难了。 - Basile Starynkevitch
@Basile Starynkevitch 一个小修正:编译器输出的第12行和第18行是警告而不是错误。然而,在它们导致错误之前,它们需要被纠正;) - pankar
一个初学者应该把警告当作错误来处理;即使是专家通常也应该这样做。 - Basile Starynkevitch
2个回答

8
你遇到编译错误的原因在这里提到:
错误 C2857: '#include' 语句指定了 /YcStdAfx.h 命令行选项,但该命令行选项在源文件中未找到。
这意味着编译器强制包含 StdAfx.h。您可以通过在源代码中添加 #include 来解决此问题,即可修复此错误。

6

看起来你的源文件没有包含预编译头文件。如果你正在使用预编译头文件,那么所有的源文件都必须在第一个非注释行中包含"stdafx.h"


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接