编译运行错误
⑴ C#中什么是编译错误,什么是运行错误,它们的区别是什么
编译错误是在运行之前报出的 运行错误就是字面意思 在运行中发生的异常你可以把编译错误想象成 明明是要考试2+2 可你却写成了1+1 当老师在检查你算法对不对之前他就知道你错了 因为 明明是2+2 就像楼上说的 一般是语法之类的错误 运行错误 就是你没有语法之类的错误 可是在运行时 算法或者某些东西使用不当出现的错误比如空指针异常 溢出异常 等等 要用具体的来说明的话比如 一个数组长度只有3位 可是你却在使用过程中赋了4位以上的值 或者当你用了一个对象可是在却一直没有给对象引用类型等等 就好像 要考试2+2 你是写的2+2没错 但是 你却是写的等于5 老师就发现你的结果存在错误 而不是一开始就写错了
⑵ 编译错误和运行错误,有什么区别
编译错误简单的说就是一些语法,在运行前可以检测到,错误比如const (int *)ptr;
运行错误比如说输出一个未指向任何物的指针,就是在运行才能检测;
⑶ 编译错误,怎么回事
关于编译问题,如果说是编译错误发生在自己编写源程序的过程中的话,那么问题的原因还是比较复杂的。通常关于用户编写的源程序的编译出错问题,这是一个很复杂的问题。因为编译错误有很多种。例如:语法错误、系统库连接错误、语义错误、数组越界、或者内存越界等等。
通常语法错误是最好解决的,因为源程序的语法出错了,连编译这一关都通不过,并且会告诉你在哪一行出错了,这时候是最容易调试程序的。最难调试的就是:源程序虽然编译通过了,但是程序的运行结果却是错误的,这种是最难调试的。所以说,你必须要把详细的出错信息写出来,别人们才好帮助你进行分析。
⑷ c语言,编译链接和运行的错误分别是由什么云因导致的
A。链接错误,通常是忘记引入头文件或库文件导致。而不是说头文件或库文件中的代码有问题。通常情况下头文件和库文件是稳定且正确的。如C语言的stdio.h等。
B 编译错误,可能是代码书写错误,如忘记括号的一部分
C 运行结果错误,运行结果受代码控制,只有代码逻辑有问题才会导致运行结果不是期望的结果
D 以上三种错误通常是用户写的代码有问题,需要修正。
结论:A选项描述是错误的。
⑸ 为什么编译没有错误,运行却有错误
编译没有错误是因为你的程序语法没有错误.
而运行时则有可能出现逻辑错误.
比如说C#里最常见的"未将对象引用设置到对象的实例",就是说一个对象并没有实力化,或者没有值就去引用了.
再比如连接数据库,语法正确,但是运行时却因为SQL未启动或者连接字符串拼写错误而发生异常.
⑹ 能解释下编译失败的原因吗
编译失败的原因有很多种。其中主要有以下一些类型:
(1)、用户编写的源程序中有语法错误。例如:未定义某一个变量就进行引用。这一类错误是最简单的,也是编译器最容易检查出来的,所以会产生对源程序的编译失败;
(2)、用户编写的源程序中有未对变量进行初始化就进行引用,也会导致程序运行错误。例如:用户虽然定义了一个指向某一个内存地址的指针变量,但是在使用前却未对它进行初始化,并进行任何判断,就往该指针指向的内存地址赋予了一个数值,这种情况在语法上编译器是检查不出来的,但是程序一旦运行起来,肯定就会出现错误了。在 WINDOWS 系统下一般是:指向XXXX的内存不能够为 Read (或者为 Write),要是在 UNIX/Linux 系统下就会发生 Core Dumped。
(3)、数组越界。这类错误也是编译器检查不出来的,但是一旦程序运行起来,程序的运行结果可能就是一个随机的结果。而不是用户需要得到的结果。
所以从编译的实质上说,以上情况都应该属于编译失败的类型。因为编译器并无法阻止这些错误的发生,而是让程序在运行时发生了各种各样的意想不到的运行结果。
⑺ C#中什么是编译错误,什么是运行错误,它们的区别是什么
在编译成中间语言的时候就没通过,也就是语法有错误,简单的说,
就是"你说的话,人家完全听不懂,没法帮你编译"所以是编译错误,
这个是原则性的错误.
而编译通过了,但是运行时错误,说明编程人员对代码的思想有错误,
简单的说就是"你说的话,人家听得懂,但是不明白你什么意识",语无伦次的
让对方不知道你想做什么,就运行时错误了.
⑻ 编译正确,但运行是错误的
估计你是package了
package之后可以编译,但是编译后的class文件在包下,不再当前路径下。
所以你用cmd运行的时候要在前面加包名