C語言的return關鍵字,你能夠理解多深?一起來總結
return 關鍵字
C語言提供了return關鍵字,可以用於退出函式的執行,而且,可以在退出函式的時候,返回一個數據。
例如while迴圈語句中的break關鍵字一樣,break語句可以跳出while迴圈語句,結束while迴圈語句的執行。那麼,return關鍵字就是用於跳出函式,結束函式的執行。同時,可以給函式返回一個數據。
那麼,return關鍵字退出函式執行的同時,給函式返回怎麼樣的資料?是什麼型別的資料?是int型別?char型別?還是void型別?
其實,return返回的資料型別是由函式定義決定的,函式定義的時候,有“返回資料型別”這樣的屬性,它決定了return返回的資料型別。return關鍵字使用形式可以總結有:
(1)
return
12;
//返回一個整數12;
(2)
return
12。345;
//返回一個浮點數 12。345;
(3)
return
‘A’
;
//返回一個字元‘A’;
(4)
return
(x + y);
//返回表示式 x + y 的結果值;
(5)
return
;
//沒有返回任何資料;
程式測試程式碼如下:
深入學習,可以交個朋友,工人人人號:韋凱峰linux程式設計學堂
程式執行結果如下:
可以看到:
(1) 對於func函式,它的返回資料型別是void型別,表示為空,所以,在該函式中,return關鍵字後面不接任何返回資料,就接引號“;”表示一句程式碼的結束。
(2) 對於func1函式,它的返回資料型別是char型別,表示返回一個字元型別的資料,所以,func1函式中 return ‘A’; 語句就返回一個字元’A’。
(3) 對於func2函式,它的返回資料型別是int型別,表示返回一個整數型資料,所以,func2函式中return 100; 語句就是返回一個整數值100。
經過上面的例子講解,我們知道了函式怎麼樣使用return關鍵字來返回一個數據。那麼,我們怎麼樣獲取到函式的返回資料?
其實,就是根據函式的返回資料型別,使用對應的資料型別的變數來接收。例如func1函式中,返回一個字元資料,那麼,就可以有:
char
c = func1();
可以看到,就是把func1()函式的返回資料,賦給字元變數c。程式測試例子如下:
深入學習,可以交個朋友,工人人人號:韋凱峰linux程式設計學堂
程式的執行結果如下:
可以看到,把func1函式返回的資料,賦給字元變數c,把func2函式返回的資料,賦給整數型變數a。
所以,根據函式的返回資料型別,可以使用對應的資料型別變數,接收函式的返回資料。
return關鍵字的使用格式中,可以接一個表示式。如果表示式很複雜,存在計算的優先順序,那麼,表示式可以使用小括號來包含起來,定義表示式執行的優先順序。程式測試例子如下:
深入學習,可以交個朋友,工人人人號:韋凱峰linux程式設計學堂
程式執行結果如下:
此時,我們可以總結:
(1) return關鍵字的使用,是 return 表示式; 函式退出的時候,把表示式的結果返回;
(2) 如果函式想返回複雜的表示式,可以使用小括號包含起來,例如 return (表示式);
(3) 函式定義的時候,定義了函式返回型別,那麼,可以使用函式返回型別定義變數,接收函式返回的資料;
return關鍵字就是用於結束函式的執行,所以,在一個函式中,可以有N條return語句,但是,只要執行到第一條return語句,就馬上結束函式的執行。程式測試例子如下:
深入學習,可以交個朋友,工人人人號:韋凱峰linux程式設計學堂
程式執行結果如下:
可以看到,在func函式中,有3條return語句,每一條都返回不同的數值,那麼,根據函式的返回的結果,我們可以判斷執行了那一條return語句。透過測試程式的執行結果可以看出,func函式只是運行了return 1;語句,就結束了函式的執行,往下的語句就沒有繼續執行。
所以,一個函式,只要是執行了return語句,就是推出函式的執行。