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

main() nên trả về gì trong C/C++?

Giá trị trả về của main() cho biết chương trình thoát như thế nào:

  • 0 (hoặc EXIT_SUCCESS): Thoát bình thường, thành công.
  • Khác 0 (thường 1, hoặc EXIT_FAILURE): Thoát lỗi, thất bại.

Trong C++, main() có thể không viết return – trình biên dịch tự chèn return 0; cuối hàm (từ C++98). Trong C, bắt buộc có return (C99+).

Cú pháp

int main() {
    // ...
    return 0;  // Hoặc EXIT_SUCCESS
}

Ví dụ

#include <stdio.h>

int main() {
    int a = 10;
    char b = 'S';  // ASCII 83
    float c = 2.88f;
    
    a = a + b;     // Implicit conversion char->int
    printf("Char -> int: %d\n", a);  // 93
    
    c = c + a;     // Implicit conversion int->float
    printf("Int -> float: %f\n", c); // 95.88
    
    return 0;  // Thoat thanh cong
}

Kết quả

Char -> int: 93
Int -> float: 95.879997

Best Practices

  • Luôn trả về 0 hoặc EXIT_SUCCESS (từ <stdlib.h>) cho thành công.
  • Trả về EXIT_FAILURE (thường 1) cho lỗi.
  • Tránh trả về giá trị ngẫu nhiên (undefined behavior cho caller).
  • C++: có thể bỏ return 0; cuối main nhưng viết rõ ràng hơn.
  • Không dùng void main() – không chuẩn.