exit 是用來結束一個程式的執行的,而return隻是用來從一個函數中傳回。
return
return 表示從被調函數傳回到主調函數繼續執行,傳回時可附帶一個傳回值,由return後面的參數指定,當然如果是在主函數main, 自然也就結束目前程序了,如果不是,那就是退回上一層調用。
return通常是必要的,因為函數調用的時候計算結果通常是通過傳回值帶出的。
如果函數執行不需要傳回計算結果,也經常需要傳回一個狀态碼來表示函數執行的順利與否(-1和0就是最常用的狀态碼),主調函數可以通過傳回值判斷被調函數的執行情況。
如果實在不需要函數傳回什麼值,就需要用void聲明其類型。
補充:如果你函數名前有傳回類型定義,如int,double等就必須有傳回值,而如果是void型,則可以不寫return,但這時即使寫了也無法傳回數值的
例如:
1、非void型
int f1()
{
int i=1;
return 1;
//return(i); //這樣也可以
}
2、void型
void f2()
//return;//這樣也可以,不要這一句也可以
有時即使被調用函數是void類型被調函數中的return也不是毫無意義的
舉例:
#include "stdio.h"
void function()
{printf("111111");
return;
printf("222222");
main()
{function();
運作結果為:螢幕上隻輸出一串數字111111而沒有222222。但是如果去掉function函數中的return語句,就可以同時輸出一串數字222222。
exit()
exit(0)表示正常退出執行程式,如果加其它的數值:1,2,....可以表示由于不同的錯誤原因而退出 。
那麼,1,2,3怎麼對應不同的原因? --你自己想讓它是什麼意思,它就是什麼意思
但一般都有常用的、通用的含義:比如 0 一般都表示正常傳回、退出。
是以,,在main函數中exit(0)等價于return 0。
本文轉自 baishuchao 51CTO部落格,原文連結:http://blog.51cto.com/baishuchao/1940386