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 ...