Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Khác biệt giữa lỗi biên dịch và lỗi chạy trong C

Phân loại lỗi

Dựa trên thời điểm phát hiện: Compile-time error (lỗi biên dịch) và Runtime error (lỗi chạy).

Bảng so sánh

STTTiêu chíLỗi biên dịchLỗi chạy
1Tham chiếuLỗi cú pháp, ngữ nghĩaLỗi khi thực thi
2Phát hiệnBiên dịch viên bắt tại lúc codeKhông bị biên dịch viên bắt, chỉ thấy khi chạy
3Sửa chữaSửa ngay khi codePhải chạy mới biết, sửa sau

Ví dụ lỗi biên dịch

#include <stdio.h>
int main() {
    int x = 100, y = 155;
    printf("%d", (x, y))  // thiếu dấu ;
}
error: expected ';' before '}' token

Ví dụ lỗi chạy

#include <stdio.h>
int main() {
    int n = 9, div = 0;
    div = n / 0;  // chia cho 0
    printf("result = %d", div);
}
warning: division by zero
Runtime: Floating point exception