Después de la eliminación de la palabra clave «noreturn», el estándar C11 (conocido como borrador final) del lenguaje de programación C introduce un nuevo especificador de función «_Noreturn» que especifica que la función no vuelve a la función desde la que se llamó. Si el programador intenta devolver cualquier valor de esa función que se declara como tipo _Noreturn, entonces el compilador genera automáticamente un error de tiempo de compilación.
// C program to show how _Noreturn type // function behave if it has return statement. #include <stdio.h> #include <stdlib.h> // With return value _Noreturn void view() { return 10; } int main(void) { printf("Ready to begin...\n"); view(); printf("NOT over till now\n"); return 0; }
Producción:
Ready to begin... After that abnormal termination of program. compiler error:[Warning] function declared 'noreturn' has a 'return' statement
// C program to illustrate the working // of _Noreturn type function. #include <stdio.h> #include <stdlib.h> // Nothing to return _Noreturn void show() { printf("BYE BYE"); } int main(void) { printf("Ready to begin...\n"); show(); printf("NOT over till now\n"); return 0; }
Producción:
Ready to begin... BYE BYE
Referencia: http://en.cppreference.com/w/c/language/_Noreturn
Este artículo es una contribución de Bishal Kumar Dubey . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA