Computer >> Máy Tính >  >> Lập trình >> lập trình C

Sự khác biệt giữa lỗi thời gian biên dịch và lỗi thời gian chạy trong chương trình C

Lỗi hoặc ngoại lệ là điều gì đó đề cập đến việc gián đoạn thực thi mã do đó không thể đạt được kết quả mong đợi cho người dùng cuối. và lỗi thời gian chạy.

Sau đây là những khác biệt quan trọng giữa Lỗi thời gian biên dịch và Lỗi thời gian chạy.

Mặt khác,
Sr. Không. Phím Lỗi thời gian biên dịch Lỗi thời gian chạy
1 Tham khảo Lỗi thời gian biên dịch thường được gọi là lỗi tương ứng với cú pháp hoặc ngữ nghĩa. Lỗi thời gian chạy đề cập đến lỗi gặp phải trong quá trình thực thi mã trong thời gian chạy.
2 Phát hiện Lỗi thời gian biên dịch được trình biên dịch phát hiện tại thời điểm phát triển mã. Lỗi thời gian chạy không được trình biên dịch phát hiện và do đó được xác định tại thời điểm thực thi mã.
3 Định hình Các lỗi thời gian biên dịch như đã đề cập có thể được sửa tại thời điểm phát triển mã. Lỗi thời gian chạy đang chuyển sang trạng thái sửa sau khi mã được thực thi và lỗi được xác định.

Ví dụ về lỗi thời gian biên dịch so với lỗi thời gian chạy

CompileDemo.c

#include<stdio.h>
public class CompileDemo{
   void main(){
      int x = 100;
      int y = 155;
      // semicolon missed
      printf("%d", (x, y))
   }
}

Đầu ra

Lỗi
error: expected ';' before '}' token

Ví dụ

RuntimeDemo.c

include<stdio.h>
public class RuntimeDemo{
   void main(){
      int n = 9;
      div = 0;
      div = n/0;
      printf("resut = %d", div);
   }
}

Đầu ra

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