Tôi vừa chạy vào một số mã sử dụng dấu chấm phẩy hoặc sử dụng dấu chấm phẩy cho các mục đích khác nhau mà tôi không biết.Dấu chấm phẩy ở cuối các câu lệnh if và các hàm trong C
Tôi đã tìm thấy dấu chấm phẩy ở cuối câu lệnh if và ở cuối hàm. Ví dụ:
int main (int argc, char * argv[]) {
// some code
if (x == NULL) {
// some code
}; <-----
// more code
return 0;
}; <---
Nó được biên dịch bằng cc chứ không phải gcc. Các dấu chấm phẩy đó làm gì? Tôi giả định rằng không có sự khác biệt bởi vì trình biên dịch sẽ chỉ xem xét nó như là câu lệnh trống.
Dấu chấm phẩy sau khi kết thúc hàm là sai. Nếu 'cc' chấp nhận nó, nó phải coi nó như là một loại khai báo toàn cầu trống rỗng - nhưng nó là không có thật. Bán kết khác đã được giải thích tốt. –
'gcc' sẽ cảnh báo về dấu chấm phẩy ở cuối nếu bạn sử dụng cờ '-pantic'. 'cc' phụ thuộc vào nền tảng của bạn nhưng nó thường chỉ là một liên kết mềm với 'gcc' để bạn có thể thử nó hoặc xem 'man cc'. –