Linux Shell指令碼編程--return與exit區別

來源:互聯網
上載者:User

Linux編程return與exit區別

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()

  {

  int i=1;

  //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。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.