🎓 Top 15 Udemy Courses (80-90% Discount): My Udemy Courses - Ramesh Fadatare — All my Udemy courses are real-time and project oriented courses.
▶️ Subscribe to My YouTube Channel (178K+ subscribers): Java Guides on YouTube
▶️ For AI, ChatGPT, Web, Tech, and Generative AI, subscribe to another channel: Ramesh Fadatare on YouTube
1. Introduction
In C programming, exit() and return are two mechanisms used to terminate a function or a program, but they serve different purposes and behave differently. Understanding their differences is important for proper program control flow and memory management.
2. Key Points
1. exit() is a standard library function that terminates the entire program.
2. return is a statement that exits the current function and returns control to the calling function.
3. exit() can be called from anywhere in the program.
4. return is used at the end of a function to return a value or terminate the function.
3. Differences
| exit() | return |
|---|---|
| Terminates the entire program. | Terminates the current function. |
| Can be called from any function. | Used at the end of a function to return control to the caller. |
| Does not return to the calling function. | Returns to the calling function (can return a value in case of non-void functions). |
4. Example
#include <stdio.h>
#include <stdlib.h>
// Function using return
int sum(int a, int b) {
return a + b;
}
int main() {
int result = sum(5, 7);
printf("Sum: %d\n", result);
printf("Exiting program with exit()\n");
exit(0);
// This line will not be executed
printf("This will not be printed\n");
return 0; // This line will not be reached
}
Output:
Sum: 12 Exiting program with exit()
Explanation:
1. The sum function uses return to send the result back to main.
2. In main, after printing the sum, exit(0) is called, which terminates the program. The statements following exit(0) are not executed.
5. When to use?
- Use return in functions to send a value back to the caller or to indicate that the function has completed its execution.
- Use exit() to immediately terminate the program, such as in situations where continuing execution is undesirable or in case of a critical error.
Related C Programming Posts:
Difference between malloc() and calloc()?
Difference between Local Variable and Global Variable in C
Difference between Global and Static Variables in C
Difference Between Call by Value and Call by Reference in C
Difference Between getch() and getche() in C
Difference between printf() and sprintf() in C
Difference between Arrays and Pointers in C
Difference between Structure and Union in C
Difference Between Stack and Heap Memory Allocation in C
Difference Between Macro and Function in C
Difference between = and == in C
Difference Between for loop and while loop in C
Difference Between Linked List and Array in C
Difference between fgets() and gets() in C
Difference between ++i and i++ in C
Difference between struct and typedef struct in C
Difference between int main() and void main() in C
Difference between Character Array and String in C
Difference between break and continue in C
Difference between exit() and return in C
My Top and Bestseller Udemy Courses. The sale is going on with a 70 - 80% discount. The discount coupon has been added to each course below:
Build REST APIs with Spring Boot 4, Spring Security 7, and JWT
[NEW] Learn Apache Maven with IntelliJ IDEA and Java 25
ChatGPT + Generative AI + Prompt Engineering for Beginners
Spring 7 and Spring Boot 4 for Beginners (Includes 8 Projects)
Available in Udemy for Business
Building Real-Time REST APIs with Spring Boot - Blog App
Available in Udemy for Business
Building Microservices with Spring Boot and Spring Cloud
Available in Udemy for Business
Java Full-Stack Developer Course with Spring Boot and React JS
Available in Udemy for Business
Build 5 Spring Boot Projects with Java: Line-by-Line Coding
Testing Spring Boot Application with JUnit and Mockito
Available in Udemy for Business
Spring Boot Thymeleaf Real-Time Web Application - Blog App
Available in Udemy for Business
Master Spring Data JPA with Hibernate
Available in Udemy for Business
Spring Boot + Apache Kafka Course - The Practical Guide
Available in Udemy for Business
Comments
Post a Comment
Leave Comment