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

2021-09-17 08:46:15 字數 1822 閱讀 1143

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中解構函式中可以呼叫虛擬函式麼

c 中 析構 函式中不可以呼叫虛擬函式。effective c 中有這樣的描述 同樣的原因也適用於析構過程。一旦派生類解構函式執行,這個物件的派生類資料成員就被視為未定義的值,所以 c 就將它們視為不再存在。c 中派生類在構造時會先呼叫基類的建構函式再呼叫派生類的建構函式,析構時則相反,先呼叫派生類...

c中,在函式內是否可以再定義函式

函式內部肯定是不能定義函式的,只能使用,想想,在main函式裡能定義函式嗎,在函式內可以再呼叫另一個函式,但是定義要在這函式外面 不能直接定義,但可以通過函式物件實現,內 void fun 函式對容象 nesetfun fun fun 10 不能。可在類定義巢狀類。在函式內可以再定義一個函式嗎?c ...

求c 中數學函式,c 數學函式

1 三角函式 62616964757a686964616fe4b893e5b19e31333330333661 double sin double 正弦 double cos double 餘弦 double tan double 正切 2 反三角函式 double asin double 結果介於...