c 函式中return a,b 可以返回兩個值嗎

時間 2021-09-17 08:46:08

1樓:匿名使用者

不可以(a,b)是一個逗號表示式,逗號表示式總是返回最右面的值,所以這個表示式的值是b,即return (a,b)等價於:

a;return b;

2樓:

不可以。逗好運算子的值是最後一個,即你只是返回了b.要想返回兩個數你可以專門定義一個結構體,再返回。c++stl就是這樣乾的。

3樓:雙槍老椰子

c系列語言是不能的,只能返回一個返回值。

但糾正一下三樓的說法,不是所有語言都是這樣,比如matlab就可以返回多個。

如果在c++語言中需要返回多個值可以有以下三種方法:

1、返回一個陣列的首地址,那麼可以把整個陣列的元素返回。

例如:double* a;

a=f();

double* f()

但是多次呼叫還要考慮釋放記憶體問題

2、傳入指標

例如:double a[2];

f(a)

void f(double *a)

3、輸入引用,可以返回不同型別變數

例如:int a;

double b;

f(a,b)

void f(int &a,double &b)

4樓:高能鈣片

用return語句只能返回一個值,你可以定義一個結構體,然後返回結構體也可以。

5樓:汲晨希

不需要這樣的啊,使用引用或指標就行了啊,先宣告這些你要改變的變數,然後在一個函式裡面,通過引用或指標傳到函式裡面改變就行了,

6樓:00文庫

不可以,可是定義外部變數返回另一個值

7樓:匿名使用者

不可以,但是可以返回一個結構體

8樓:匿名使用者

不可以,試著返回陣列試試

c++程式設計。 函式返回 return a>b: 返回的是a還是b。。。。

9樓:匿名使用者

都不是,返回這兩個值得比較結果,如果 a的值大於b的值返回true, 如果a的值小於或等於b的值返回false;

10樓:匿名使用者

return (a>b);

a > b是個比較表示式,值是0 或 非0。

11樓:匿名使用者

準確的說是返回一個bool true或者false,你也可以看成 1或者0

如果a>b成立,就返回true(1)

否則 false(0)

c++函式的返回值return咋用?

12樓:匿名使用者

return是返回函式的結果,return + 型別,這個型別和你函式的型別要一致,但是如果你的函式型別是void,那麼直接return;就行。很多時候,我們還會用return;來使程式提前結束,

13樓:

當函式的返回型別是void時,可以直接使用return;作為返回語句。

return obj;語句表示將物件(或內建型別)obj作為函式的返回值並退出函式。obj的型別應能自動轉換為函式宣告的返回值型別。當函式返回型別為void時,表示函式什麼也不返回,因此返回語句return後面可以不加返回值。

樣例:int foo()

void bar()

class a {};

class b : public a {};

a test0()

b test1()

c 中rand 函式的範圍,c 中rand 函式的範圍

rand函式範圍 在某些平臺下 例如 windows rand max 只有 32768。如果需要的範圍大於 32768,那麼指定 min 和 max 引數就可以生成大於 rand max 的數了,或者考慮用 mt rand 來替代它。rand函式不是真正的隨機數生成器,而srand 會設定供ran...

C 中pow函式,C 中pow(x,y)函式怎麼用?最好給舉個例子

很路人 2型別是整型,0.5屬於浮點數,而你的函式宣告裡面第一個引數是浮點數,第二個引數是整型的,int轉float double可以隱式轉換,編譯器允許這種轉換,但是float double不能隱式轉換成int,這樣可能會造成資料丟失,編譯器不允許,除非你強制轉換 暗影之王 在vc 6.0中原型為...

c中建構函式與解構函式的問題,C 中建構函式與解構函式的問題

你的getname函式在 你的類定義中只有getscore和getid c 關於建構函式和解構函式呼叫次數的問題 沒問題啊。引數傳遞的時候第一次拷貝構造呼叫,在函式返回的時候賦值給c2 再次呼叫了拷貝構造。析構的話 c1 c2 c 三次 傳遞引數和返回引數各一次拷貝建構函式,所以是2次 有兩個物件c...