c語言中如何函式的多次呼叫,c語言中如何乙個函式的多次呼叫

時間 2022-01-29 18:35:12

1樓:四捨**入

乙個函式只能有乙個返回值,指標可以返回多個,例如:

void aaa()

int *a,*c;

int a,c;

*a=a;*c=c;

a=b();c=b();

下面呼叫 *a和*c.

2樓:匿名使用者

1.可以使用迴圈語句實現。例如while迴圈語句,計算機的一種基本迴圈模式。當滿足條件時進入迴圈,不滿足跳出。while語句的一般表示式為:

while(表示式)

2.例程:

#include

int main()

return 0;}

3樓:沒有響應

就你說的這個 a 和c 的的值肯定都是一樣的 b()函式每次呼叫都是有返回值的 無論呼叫多少次都有

不是說呼叫一次以後那個值就沒了 沒那麼一說

4樓:匿名使用者

這個b只是乙個子函式,根據實際的引數不同得出的結果不同,你就這樣在賦給a,bc,。。。等等 就可以了

5樓:帝都遊戲玩家

返回 指標吧,乙個函式只能有乙個返回值。指標可以返回多個。

void aaa()

下面呼叫 *a和*c.

好像是這樣,你再改改吧。

6樓:天少喜洋

很明顯,既給了a,也給了c

7樓:匿名使用者

你賦值給誰就返回給睡唄

c語言同乙個源程式裡面如何在乙個函式裡面呼叫另外乙個函式?

8樓:魔群領袖

樓上那幾位的就可以保證同乙個檔案滿足你要求了,只要被呼叫的函式定義在呼叫函式的前面就可以,否則無法編譯過,如果在另外個檔案裡的函式需要確認2個檔案的標頭檔案包含關係,通過extern 呼叫,也可以使用,還有些細節說起來太麻煩可以查閱基本的c語言書籍都有

9樓:熊貓

按照另乙個函式的首部寫呼叫語句就可以了。格式是「函式名(參數列列);」

10樓:

直接寫函式名加括號,如果有引數帶上引數就可以了

11樓:匿名使用者

#include "檔案" 將檔案包含進來.要包含多條檔案要使用多次.

比如:#include "stdio.h"

呼叫自己的程式模組要給出目錄路徑名,即指明盤驅動器名和一系列的子目錄名.比如:#include "d:\user\test\menu.h"

12樓:hui翽

把想加入的那個程式include進來即可。

**如下:

int m(int n)

命名為1.c

int f(int n)

命名為2.c

void main()

命名為3.c

程式4.c的**如下 :

程式**:

#include "1.c"

#include "2.c"

#include "3.c"

13樓:聖誕鯊魚

寫 函式名(函式引數) 就行了 ,例如

int sum(int a,int b)

void fun()

14樓:

int max(int a,int b)

void main()

這個例子可以幫你理解。

c語言中呼叫函式如何返回多個值?

15樓:八哥說科技

1、通過使用指標,在函式呼叫時,傳遞帶有位址的引數,並使用指標更改其值;這樣,修改後的值就會變成原始引數。

2、通過使用指標返回結果為:

3、通過使用結構:因為結構是使用者定義的資料型別;可以定義乙個包含兩個整數變數的結構,並將更大和更小的值儲存到這些變數中,然後使用該結構的值。

4、通過使用結構返回結果為:

5、通過使用陣列,當乙個陣列作為引數傳遞時,基位址將傳遞給該函式,因此無論對陣列副本所做的任何更改,都會更改為原始陣列。

6、通過使用陣列返回結果為:

16樓:娛樂小八卦啊

建立陣列,返回指標。

在要返回的兩個值型別相同時,可以用建立陣列的方式,將要返回的值存在陣列中,並返回陣列首位址,這樣就可以實現返回兩個值的效果。需要注意的是,要返回陣列首位址,那麼返回的值不可以是區域性變數,有如下幾種是可以的:

a) 使用靜態區域性變數儲存,並返回位址;

b) 使用全域性變數儲存,返回位址;

c) 函式中動態分配記憶體,並返回申請到的位址,此種方法需要注意,在使用後需要釋放;

d) 在引數中傳入陣列位址,並返回。即返回的實際上是主調函式中的變數位址。

擴充套件資料

通常我們希望通過函式呼叫使主調函式能得到乙個確定的值,這就是函式的返回值。函式的返回值是通過函式中的 return 語句獲得的。return 語句將被調函式中的乙個確定的值帶回到主調函式中,供主調函式使用。

函式的返回值型別是在定義函式時指定的。return 語句中表示式的型別應與定義函式時指定的返回值型別一致。如果不一致,則以函式定義時的返回值型別為準,對 return 語句中表示式的型別自動進行轉換,然後再將它返回給主調函式使用。

在呼叫函式時,如果需要從被調函式返回乙個值供主調函式使用,那麼返回值型別必須定義成非 void 型。此時被調函式中必須包含 return 語句,而且 return 後面必須要有返回值,否則就是語法錯誤。

如果函式有返回值,那麼 return 語句後面的括號可以不要,比如「return(z);」等價於「return z;」。若不需要返回值則可以不要 return 語句。

需要強調的是,乙個函式中可以有多個 return 語句,但並不是所有的 return 語句都起作用。執行到哪個 return 語句,就是哪個 return 語句起作用,該 return 語句後的其他語句就都不會執行了。

17樓:

在c語言中,返回多個值主要有兩種方式

一種就像一樓所說的,返回乙個陣列。

但是這樣做的壞處在於

呼叫程式者並不知道這個陣列有多大,除非是某些只返回特定大小的函式,一般情況下不建議採用這種方法。

第二種是用指標返回,例項**如下。

void exam(int *t)

main()

如上**,你會發現這個t變成1了。

這是因為你傳的是指標(&是取址符),當然如果你還不知道什麼是指標,那麼就只能等你以後來實踐這種方法了。如我上面這樣的,是最簡單的乙個應用。當然你也可以定義下面這樣的

exam(int d, int e, int *t, int *t1.....)

你可以把d,e當作普通引數,然後t和t1當引數返回。

當然你完全可以把這兩種方法混合起來用

比如 int exam(int *size)

這裡,返回乙個int陣列,而size則用於告訴呼叫者返回的陣列的大小。

這樣就不會出現陣列越界的情況了。

當然如果是呼叫者誤操作,那是無法避免的情況了

18樓:匿名使用者

可以有很多方法實現

你可以不使用陣列,使用vector來做

std::vectorconvert(int a, int b)或者你可以在外面定義乙個陣列,作為傳入引數void convert(int a, int b, int *c)main()

19樓:

指標,還可以用c++中的引用.引用雖說是c++的語法,但c的資料結構也一直在用.

還有一種方法就是反回乙個結構體變數,用它可以返回多個值

20樓:匿名使用者

main()

int convert(int a, int b)

21樓:匿名使用者

主要你的主函式裡沒有輸出的語句呀

c語言中能否在乙個自定義函式中呼叫另乙個自定義函式?

22樓:七班趙子龍

當然copy

可以!c語言程式的最基本的模組就是函式,

該程式規定:任意函式都可以呼叫其它任意乙個函式,包括函式本身;

1、函式呼叫自己本身, 這種稱為遞迴;

通過遞迴,計算1+2+3+...+n值的**:

2、自定義函式呼叫其它自定義函式的例子:

這個例子就是主函式呼叫自定義函式fun2,然後fun2呼叫另乙個自定義函式fun1;

c語言中可以在乙個函式中呼叫另乙個函式嗎

23樓:小知知快長大

其實你從學c語言開始的第乙個程式就是在乙個函式中呼叫另乙個函式

main()

這個就是在main()函式中呼叫printf()函式

24樓:

如果不行的話,你還能在哪呼叫函式呢?

函式入口就是main 函式,一切語句都是在函式中的,呼叫當然也是

25樓:匿名使用者

當然可以了...還能在函式裡呼叫它自己(遞迴)

26樓:_肖小海

可以啊 但是呼叫的函式需要先宣告或者定義,或者是公用函式

27樓:匿名使用者

可以,,在特殊函式裡面

c語言,如何在子函式中寫乙個3*3二維陣列,給主函式呼叫!!

28樓:聽不清啊

這樣就可以了:

#include

#include

int **sr(void)

return arr;

}int main(void)

return 0;}

29樓:自我程式設計

在子函式申請二維陣列,主函式使用,可以用動態申請。

方法不止一種,我這裡用指標的指標實現二維陣列。

二維陣列除了行列,本身位址也是連續的,從第一行第一列的元素位址++,可以取出所有元素。所以我這裡先申請了完整的連續位址。

#include

#include

int ** sr(void)

for(i=0,j=0;i<9;i+=3)//將連續位址按列數,取出每行首位址,賦值給二維陣列元素

arr[j++]=&memory[i];

for(i=0;i<3;i++)

for(j=0;j<3;j++)

scanf("%d",&arr[i][j]);

return arr;

}int main(void)

關於c語言指標呼叫函式,關於C語言中指向函式的指標的呼叫問題

第一條紅線是定義乙個函式指標 第二條紅線起強轉作用,把0xd010f0強轉為對應的函式指標型別 我寫的這個程式可以幫你理解.常量位址被printab取代 劃紅線的是宣告了乙個函式指標,這個函式的兩個引數和返回值都是int,然後將0xd 的位址強制轉換為函式啊 同下面類似 typedef int fu...

請問C語言中函式定義,函式宣告和函式呼叫的區別

函式宣告指函式原型宣告,只有函式名,函式型別,引數個數和型別,無函式體。一般放在主函式前。逗號結尾。函式定義,除上述外,去掉結尾逗號,加函式體。可放在main函式後面,也可放在main函式前面。放在main函式前面則不要寫函式原型宣告。 雲澹楓卿 函式宣告格式如 int max int 函式呼叫是你...

C語言中方法的呼叫問題,C語言中的sprint函式問題

自定義方法如果放在主函式的下面,需要進行函式說明。解決方法 在主函式上面加上void print 或者直接將自定義方法拿到主函式上面去,可以避免錯誤。返回值用return語句返回 要呼叫沒有返回值型別的方法,你可以給他們設定同型別的引數,就可以呼叫了。比如 include void max int ...