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

Function specifier _Noreturn trong C

_Noreturn function specifier báo cho trình biên dịch biết hàm sẽ không trả về. Nếu chương trình dùng return bên trong, trình biên dịch sinh lỗi compile-time.

Ví dụ có _Noreturn

#include <stdio.h>
#include <stdnoreturn.h>

_Noreturn void function() {
    return; // lỗi: hàm noreturn có câu lệnh return
}

int main() {
    printf("The returned value: %d\n", function());
    return 0;
}

Kết quả

Chương trình kết thúc bất thường
[Warning] function declared 'noreturn' has a 'return' statement

Nếu hàm bình thường thì chạy tốt.

Ví dụ hàm bình thường

#include <stdio.h>

int function() {
    return 86;
}

int main() {
    printf("The returned value: %d\n", function());
    return 0;
}

Kết quả

The returned value: 86