你编译有语法错误!
原因是你程序里用到了中文符号。如:“LOOP1:”、“D1:”后面的冒号是错误的,而“START:”“LOOP: ”后面的冒号才是正确的!还有“MOV A,#0FFH”中的逗号是正确的,而
“DJNZ R2,LOOP1”中的逗号就是错误的!其它的地方如“
MOV R5,#248
DJNZ R5,$
DJNZ R4,D2
DJNZ R3,D1”
语句中的逗号也是错误的!
细心的观察下,看看能不能看出区别来!如果能看出来,那错误就找到了!
如果看不出来,你区分下以下符号:
两种冒号“ ::”,两种逗号“,,”
㈡ c++中什么是语法错误,什么是编译错误
程序的错误主要分成三种:
编译链接错误;
编译链接错误又分成编译错和链接错。
编译错就是普通意义上的语法错,编译器进行语法检查不通过,也就是程序违背了计算机语言的语法,例如:括号不匹配、变量名拼写错误、用保留字定义变量名等;
链接错是指程序通过了语法检查,但是无法生成可执行文件,最常见的是链接找不到lib库。初学者有时写了函数的声明,但是缺少函数的定义,此时就会出现链接错。
运行错误;
运行错是程序可以执行,但是在执行过程中发生异常,提前退出程序。最常见的是指针越界,打开文件失败继续读取文件,总而言之是让计算机执行一些不能执行的语句。
逻辑错误
逻辑错是程序也能运行,就是结果不对,主要原因有:程序算法本身错误,程序和算法不同义等。
例如:新手经常将判断相等的==写成=赋值,往往就会导致逻辑错。
你的BD(int,int); 是一句函数调用?还是一句函数声明?
㈢ 新手在学习c语言并编译程序时编译错误怎么办
1、确定出错的行号
如果是一个比较好的集成编译环境的话,一般双击编译错误,鼠标都会自动跳转到该行并高亮显示。
没有这个功能也没关系,编译错误里面也都会有说明某某.c,某某行出的问题
1>e:\visual studio 2005\projects\airplane\airplane\airplane.cpp(52) : error C2065: 'abc' : undeclared identifier
这个就是说明在airplane.cpp的52行有错误
2、多个错误的话,一般只处理第一个错误
如果一次打出很多错误的话,不需要每一个都处理,只处理第一个编译错误,然后再次编译。大部分的时候,都是由于第一个错误产生了后续很多错误,第一个错误解决之后,其他错误也就迎刃而解。
3、对错误的更改
一般就是看错误的编号和后续的英文说明,如上面的错误,错误编号是C2065,错误的解释是'abc' : undeclared identifier,未定义的标示符,将abc定义即可。
错误的种类很多,一般看英文就可以解决,如果解决不了的话,推荐根据错误编号上网搜索一下解决方法就OK拉。
㈣ c语言我的程序编译错误是为什么
intmain()
{
intn;//改为整型,编译通过,不知道你的代码想实现什么?
doublev,sum;
while(cin>>v>>n)
{
sum=0;
if(v==-1&&n==-1)
break;
for(inti=0;i<n;i++)
{
cin>>food[i].p>>food[i].va;
food[i].ave=food[i].p/food[i].va;
}
sort(food,food+n,cmp);
for(intj=0;j<n&&v!=0;j++)
{
if(v>=food[j].va)
{
sum+=food[j].p;
v-=food[j].va;
}
else
{
sum+=food[j].p/food[j].va*v;
v=0;
}
}
printf("%.3lf ",sum);
}
return0;
}
㈤ 编译错误,怎么回事
关于编译问题,如果说是编译错误发生在自己编写源程序的过程中的话,那么问题的原因还是比较复杂的。通常关于用户编写的源程序的编译出错问题,这是一个很复杂的问题。因为编译错误有很多种。例如:语法错误、系统库连接错误、语义错误、数组越界、或者内存越界等等。
通常语法错误是最好解决的,因为源程序的语法出错了,连编译这一关都通不过,并且会告诉你在哪一行出错了,这时候是最容易调试程序的。最难调试的就是:源程序虽然编译通过了,但是程序的运行结果却是错误的,这种是最难调试的。所以说,你必须要把详细的出错信息写出来,别人们才好帮助你进行分析。
㈥ compile error是什么错误
compile error 是C语言编辑错误。
1、变量未定义就使用,或定义后使用位置超出了定义的作用域。
说明:如b=25但程序并未在使用前定义好b的类型,还应注意变量作用域。
2、 括号不匹配。
说明:()、[]、{}一定要有始就得有终。
3、使用非法类型。
说明:如__int64在GCC编译器下不识别,你却用它。
4、需少分号。
说明:忘了语句以一个分号结束。
5、用函数未引头文件。
说明:如printf函数在G++中未包含stdio.h文件。GCC较G++稍宽松些此处。
6、 包含非标准头文件。
说明:如conio.h并非标准库中定义的头文件。
7、使用非标准库函数。
说明:如itoa、strupr等并不是C标准库中的函数,不能使用。
8、有非法字符。
说明:一般是你网上或幻灯片里粘贴过来的代码有非常字符引起。
9、自定义函数未声明。
说明:自定义函数一定要先声明再使用。
(6)程序编译错误是什么扩展阅读
程序编译特点:
1、数据结构分析和综合时所用的主要数据结构,包括符号表、常数表和中间语言程序。符号表由源程序中所用的标识符连同它们的属性组成,其中属性包括种类(如变量、数组、结构、函数、过程等)、类型(如整型、实型、字符串、复型、标号等),以及目标程序所需的其他信息。
2、常数表由源程序中用的常数组成,其中包括常数的机内表示,以及分配给它们的目标程序地址。中间语言程序是将源程序翻译为目标程序前引入的一种中间形式的程序,其表示形式的选择取决于编译程序以后如何使用和加工它。
3、常用的中间语言形式有波兰表示、三元组、四元组以及间接三元组等。
㈦ 我在用C语言编程时,编译后总出现Error:spawning C1.exe的错误,看不懂,是什么意思啊快快快,谢谢!
原因可能是因为你计算机上的VC是从别的计算机上面拷来的,而非直接安装,所以设置的编译器路径需要重新设置。
具体的解决方法:
1、在菜单栏的【工具】(Tools)中选择【选项】(Options),在打开的对话框中选择【路径】(Directories);
在右边的目录“Show directories for:”下拉表中选择【可执行文件】(Executable files),再看下面有没有cl.exe文件所在的目录,如果不对修改之。
6、修改完之后,点击【确定】按钮,重新编译程序,可以发现没有出现Error spawning cl.exe这个问题,程序可以正常编译了。
㈧ C程序编译不管编什么都显示一个错误 是为什么
实际上这个问题很多情况下是由于路径设置的问题引起的,
“CL.exe”是VC使用真正的编译器(编译程序),其路径在“VC根目录\VC98\Bin”下面,
你可以到相应的路径下找到这个应用程序。
因此问题可以按照以下方法解决:打开vc界面 点击VC“TOOLS(工具)”—>“Option(选择)”
—>“Directories(目录)”重新设置“Excutable Fils、Include Files、
Library Files、Source Files”的路径。很多情况可能就一个盘符的不同
(例如你的VC装在C,但是这些路径全部在D),改过来就OK了。
如果你是按照初始路径安装vc6.0的,路径应为:
executatble files:
C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin
C:\Program Files\Microsoft Visual Studio\VC98\BIN
C:\Program Files\Microsoft Visual Studio\Common\TOOLS
C:\Program Files\Microsoft Visual Studio\Common\TOOLS\WINNT
include files:
C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE
library files:
C:\Program Files\Microsoft Visual Studio\VC98\LIB
C:\Program Files\Microsoft Visual Studio\VC98\MFC\LIB
source files:
C:\Program Files\Microsoft Visual Studio\VC98\MFC\SRC
C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\CRT\SRC
如果你装在其他盘里,则仿照其路径变通就行。
关键是microsoft visual studio\ 后面的东西要相同。
㈨ C语言对文件进行操作,编译错误,请教怎么回事
问题在找不到 windows.h。
编译器是否安装正确,系统环境变量是否设对了。
DOS 命令:
set INCLUDE
可以显示头文件路径。
C 语言 不需要 #include "fstream.h"
C++ 语言 用 #include <fstream> (不带 .h)
视窗操作系统 下才有 #include <windows.h>
如果你是视窗操作系统,编译器里应当有windows.h,
如果是其它操作系统,你可以去掉这项。
㈩ 程序无法编译通过问题,怎么解决
关于程序无法通过编译的问题,其错误类型肯定是有很多种的。根据我多年的编程调试经验,可以给你提供以下几种类型的错误,供你参考(以下以 C 语言编程经验为例,其他编程语言的调试思路也是同理的)。
其中最容易调试的程序错误类型就是:
(1)、在编写源程序过程中出现的各种语法错误。这种错误主要是由于刚刚开始学习编程,对编程语言的语句、以及语法结构还不是很清晰造成的,这种错误是最容易进行调试的,因为语法错误,编译器连编译都无法通过(通常会显示出来具体是哪一行出现错误),这样的话,你就可以直接到出错的那一行进行修改源代码了;
(2)、若是经过一段时间的上机练习,对学习编程的初始阶段已经较为熟练了、且语法错误较少了之后,之后就会遇到更加复杂、并且难于调试的语义错误。例如在 C 语言中,对于如下代码:
void main( )
{
int n ;
scanf("%d", &n) ;
if( n == 100 )
printf(" n is 100 !\n") ;
else
printf(" n is not 100 !\n") ;
}
但是若在逻辑判断语句:if( n == 100) 中,如果误将“==”(逻辑等于)写成了“=”(赋值等于),那么在 scanf("%d", &n) 语句中,无论你输入的 n 等于多少,一旦执行 if 语句,那么 将 100 这个数字赋给变量 n,则该逻辑表达式的值总是 1,程序的运行结果必定总是输出:n is 100。
而该程序的实际思路是:从键盘输入一个整数,如果该整数等于 100,则输出:n is 100 !如果输入的整数不等于 100 的话,则输出:n is not 100 !
像这样的逻辑错误(在对 C 语言源程序进行编译时,C 语言编译器是检查不出来的),如果没有丰富的程序调试经验,程序调试起来就是非常困难的。
(3)、其它的错误类型例如:数组越界、非法使用了未初始化的指针变量、未对指针变量进行有效的内存分配,就向那一块存储区域读写数据,等等。这些都会造成程序崩溃,严重的就会造成操作系统崩溃。