• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

编译时错误和运行时错误之间的区别,2个例子弄懂!

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
编译时(Compile-Time)错误:当发生的错误是违反语言规则语法的编写,称为Compile-Time错误。此编译器错误表明在编译代码之前必须先修复一些问题。所有这些错误都由编译器检测到,因此被称为compile-time错误。
最常见的Compile-Time错误是:

  • 缺少括号(})
  • 在不声明变量的情况下打印变量的值
  • 缺少分号(终止符)

以下是演示Compile-Time错误的示例:

// C program to illustrate 
// syntax error 
  
#include 
  
void main() 
{ 
    int x = 10; 
    int y = 15;  
      
// semicolon missed 
    printf("%d", (x, y))  
} 

错误:

error: expected ';' before '}' token

运行时(Run-Time)错误:成功编译后在程序执行期间发生的错误(run-time)被称为run-time错误。最常见的run-time错误之一是被零除,即除法错误。这些类型的错误很难找到,因为编译器没有指向发生错误的行。

为了更好地理解,请运行以下示例。

// C program to illustrate 
// run-time error 
  
#include 
  
void main() 
{ 
    int n = 9, div = 0; 
    
    // wrong logic 
    // number is divided by 0, 
    // so this program abnormally terminates 
    div = n/0; 
      
    printf("resut = %d", div); 
} 

错误:

warning: division by zero [-Wdiv-by-zero]
     div = n/0;

在给定的示例中,存在除以零的误差。这是run-time错误的示例,即在运行程序时发生错误。

编译时(Compile-Time)和运行时(Run-Time)错误之间的差异是:

Compile-Time错误 Runtime-Errors
这些是编译器检测到的语法错误。 这些是编译器未检测到并产生错误结果的错误。
它们在检测到某些语法错误时阻止代码运行。 它们阻止代码执行完成,即执行非正常中止。
它包括语法错误,例如缺少分号(;),关键字和标识符的拼写错误等。 它包含错误,例如将数字除以零,寻找负数的平方根等。

图解
如果打个比方的话:编译时错误如左图所示,运行时错误如右图所示!:)


鲜花

握手

雷人

路过

鸡蛋
专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap