C 關於返回值的問題,C 關於返回值的問題

時間 2022-05-06 17:30:11

1樓:三天打魚

你應該換一個高階一些的 ide …… (你這樣寫會報錯的),你a函式定義了返回型別為int 而你函式裡的return 後面沒有寫返回值

應該寫return 返回值;

我不知道你取什麼結果 return 後面寫什麼你自己考慮吧

2樓:老

這個函式功能上不需要返回值也可以,因為函式體中已經輸出了資料。但函式定義為int型,且主函式有輸出了返回值,所以返回值可以根據題目需求確定任意值。

3樓:橘又青

為什麼有的函式不需要返回值,有的卻需要?什麼時候需要,什麼時候不需要?

如果你寫的函式只是完成一些處理,而不需要得到處理後的結果就不需要返回值了,比如寫個函式用於向資料庫寫入一條記錄或向一個文字寫入一些內容,當然實踐中做這些事還是需要返回值的,因為我們需要知道這個記錄有沒有寫入成功(成功返回真,失敗返回假),這個內容有沒有成功地寫入一個文字檔案。

所以有的需要返回值,有的不需要。什麼時候需要什麼時候不需要得看具體的情況來定。

2,為什麼有的函式不需要引數,有的卻需要?什麼時候需要,什麼時候不需要?

需要引數是因為函式內的操作需要具體的計算物件(引數值),比如你有個計算長方形面積的函式:getarea(float w,float h),這個計算面積的函式能得到所有大大小小的長方形面積,但我們具體計算時長與寬是不確定的,所以就需要把長與寬作為引數傳入函式內處理而得到長方形的面積(同上問題,這時就需要有返回值了,即長方形的面積),如長為:5,寬為:

2,float area = getarea(5.0,2.0)

我文筆不行,亂七八糟地說了一通,不知道能不能幫到你

c++函式返回值問題

4樓:匿名使用者

(1)函式的返回值是通過函式中的return語句獲得的。return語句將被呼叫函式中的一個確定值帶回主調函式中去。

如果需要從被呼叫函式帶回一個函式值(供主調函式使用),被呼叫函式必須包含return語句。如果不需要從被呼叫函式帶回函式值,則可以不要return語句。

一個函式中可以有一個以上的return語句,執行到哪一個return語句,哪一個語句起作用。

return語句後面的括號可以要,也可以不要,如「return z;」與「return (z);」等價。return後面的值可以是一個表示式。例如:

int max(int x,int y)

如果在主調函式中呼叫它,比如:

a=max(1,2)

那麼函式max的return語句後面表示式的值就是2,也就是說max(1,2)=2,所以a=2

(2)函式值的型別。既然函式有返回值,這個值當然應屬於某一個確定的型別,應當在定義函式是指定函式值的型別。例如下面是幾個函式的部首:

int max(float x,float y);//函式值為整型

char letter(char c1,char c2);//函式值為字元型

double min(int x,int y);//函式值為雙精度型

void change(int a);//函式值為空

(3)如果函式值的型別和return語句中表示式的值不一致,則以函式型別為準,即函式型別決定返回值的型別。對數值型資料,可以自動進行型別轉換。特別提一提void型別,如果一個函式的型別為void,那麼,即使函式中有return語句且return語句中表示式的值不為空,返回值仍為空,嚴格滿足函式型別決定返回值的型別。

5樓:97樂於助人

因為主函式裡面呼叫了grade函式,而grade函式裡面有輸出語句,所以會有書上的結果。

並不是返回給了主函式值。

6樓:匿名使用者

.返回值是具體將值返回到定義函式時的行參上嗎?不是的,而是在函式的名稱前加上資料型別不過請注意:

返回值型別和所呼叫的引數的型別可以不一致....需要向樓主說明的一點是如何取得這個函式的返回值:我寫的比較多,不讓我發,說我重複字元太多了,你看我空間吧,答案在那裡,我不會刪的:

希望我的回答對你有幫助:)

7樓:匿名使用者

void 不必要return

int 型別 一定要return

int max (int,int)

8樓:匿名使用者

void createwaybilllist(waybill *& head1,banci *& head2)

c++程式設計中返回值問題

9樓:匿名使用者

如果函式有返回值,則需要返回語句return。return語句的一般形式是:

return(表示式);

執行時,先計算出括號中表示式的值,再將該值返回給主調函式中的呼叫表示式。下面對return語句做一些說明:

(1) 函式的返回值是通過函式中的 return 語句獲得的。return 語句將被呼叫函式中的一個確定值待會主調函式函式中去。

如果需要從被呼叫函式帶回一個函式值(供主調函式使用),被呼叫函式中必須包含 return 語句。如果不需要從被呼叫函式帶回函式值可以不要 return 語句。

一個函式中可以有一個以上的 return 語句,執行到哪一個 return 語句,哪一個語句起作用。

return 語句後面的括弧也可以不要,如

return t;

它與「return(t);」等價。

return 後面的值可以是一個表示式。例如,

int max(int x,int y)

這樣的函式體更為簡短,只用一個 return 語句就把求值和返回都解決了。

(2)返回值的型別。

在定義函式時對函式值說明的型別一般應和 return 語句中的表示式型別一致。

(3)如果函式值的型別和 return 語句中表示式的值不一致,則以函式型別為準。對數值型資料,可以自動進行型別轉換。即函式型別決定返回值的型別。

(4)如果被呼叫函式中沒有 return 語句,並不帶回一個確定的、使用者所希望得到的函式值,但實際上,函式並不是不帶回值,而只是不帶回有用的值,帶回的是一個不確定的值。

(5)為了明確表示「不帶回值」,可以用「void 」定義「無型別」(或稱「空型別」)。

10樓:

int main()

void main()

11樓:匿名使用者

void型別的函式沒有返回值

有返回值type的函式,是在函式執行完畢,返回一個type型別的值

c++出現返回值為空錯誤

12樓:金色潛鳥

函式必須是指標型,才能返回字串: char *delchar();

函式內 s3 必須用static 保證它的生命期: static char s3[100];

下面程式功能是 刪去 s1 中 所有 在 s2種出現的字元,並輸出。

例如, s1 是 abcd, s2 是 da, 則輸出 bc.

#include

#include

using namespace std;

int sum1,sum2;

char *delchar(char *s1,char s2[100]);

int main()

char *delchar(char *s1,char s2[100]);

if (flag!=1) ;

}s3[k]='\0';

return s3;}

13樓:

如果函式有返回值型別,就需要返回一個值,viod型別就不用返回值

c++ 有關函式返回值的問題

14樓:鐳毅

comm函式的兩個引數:

1)當後一個引數k大於前一個引數n時,comm返回0;

2)當兩個引數相等或者當後一個引數k=0時,comm返回1;

3)遞迴。。。

關於C 函式臨時變數返回值問題

所謂 未定義行為 就是說什麼情況都有可能出現,程式設計師無法確定會發生什麼 如果硬要追究原因的話,p a b 之後又執行了幾次 運算,函式a的引數所佔的記憶體區域早已被其他變數覆蓋,而a b 之後立即訪問返回的地址處的變數,函式a的引數所佔的記憶體區域還沒有被覆蓋,所以能夠得到正確的值 這種東西,測...

C 中返回引用和返回值的區別,C 引用返回值 與 返回指標

通常的返回機制將返回值複製到臨時儲存區域中,隨後呼叫程式將訪問該區域.返回引用則程式則呼叫程式將直接訪問返回值.通常引用將指向傳遞給函式的引用,因此呼叫函式實際上是直接訪問自己的一個變數.比如const int fun int a,const int b int x 1,y 2,z z fun x,...

vb的函式返回值問題,VB的函式返回值問題

你這個函式只可能返回一個值0。因為你沒有給aaa賦什麼值,其預設值為0。一般來說,函式中的值是否返回是由程式設計者來決定的。如果返回a的值,則作以下更改 private function aaa as integer dim a,b as integer a 1b 2 aaa a 新增這條語句,返回...