c語言的函式問題,c語言函式呼叫問題

2022-04-10 16:19:37 字數 5239 閱讀 7520

1樓:勇蓮朋芳潔

可以不寫,但是要把你的自定義函式寫在主函式前面才行。

就是說把z的值返回到主函式,本例中就是把z的值返回給c。

2樓:酒葦韓凡白

不能不寫的,否則當編譯器編譯到你main函式時,由於還沒編譯到下面的max定義。

所以它找不到max到底是什麼符號。

一般申明都寫在函式後面的,否則,出了main外,其他函式看不到max的申明的。

return(z)有什麼不瞭解的嗎

return

(z)就是max返回給呼叫者的,c

=max(a,b)表示c接收了max的返回值z,這裡相當於c=z

3樓:倪掣少波峻

在其中y為float型,而z為double型,運算過程中發生強制轉換

4樓:仉凡鄲幼怡

因為你這樣處理的話,(2*i-1)/(2*n)這個會變成整形處理,所以會是0。如果你想輸出的是f(0.5)要強制型別轉換

#include

#include

void

main()

double

f(double

z)這樣就能輸出f(0.5)了

5樓:勇江谷憶丹

#include

#include"stdlib.h"

#definem5

#definen4

void

add(int

a[m][n],

int*);

void

change(int

*);void

main()

,i,j;

for(i=0;i

printf("該矩陣為:\n");

for(i=0;i

}add(a,

b);for(i=0;i

printf("第%d行元素之和為%d\n",i+1,b[i]);

change(b);

printf("按要求調換後的結果如下:\n");

for(i=0;i

printf("%d

",b[i]);

}void

add(int

a[m][n],int

*b)//最大的問題是你沒把陣列傳進來,而是在函式內部新建了一個內部變數

}void

change(int

*b)}

b[s]=b[0];

b[0]=t;}

c語言函式呼叫問題

6樓:匿名使用者

int 和 void 的區別:

int 返回值,void 不返回值。當需要返回值給主函式時,用int;當不需要返回值給主函式時,用void。

至於括號裡的內容:

int n是接收主函式的實參作為形參,就是函式中要用到這個形參。如果不需要從主函式中接收實參,那麼就用void。

至於返回值:

當函式返回值給主函式時,主函式需要呼叫函式並賦值給某一個變數。

例如:函式int fun() 返回值:return (a);

主函式呼叫函式fun()

p=fun(int n);

這時,p就接收了函式返回的a的值。

printf("%d",a);

就可以將a的值顯示在螢幕上。

7樓:塗智華

void表示空,沒有輸入值和返回值,一般用於主函式。int n表示輸入引數的型別為整型,函式名稱前的int表示函式返回值是整型。呼叫函式肯定是想得出一個結果,這個結果就是返回值。

8樓:匿名使用者

函式名前面的型別指的就是函式的返回值型別,函式最後返回什麼型別的資料,這裡就用什麼型別

括號裡的就是引數的型別,你要傳什麼型別的引數到函式中進行處理,就放什麼型別,引數可以有多個

c語言中函式宣告問題

9樓:

第一,如果你沒有看錯就是你的書錯了,只有int和char型別的函式不必宣告

第二,c中可以不宣告函式的條件是3個

1就是上面我說的

2.是被調函式定義在主調函式之前,可不必宣告3函式的外部已宣告過了,個個主調函式中不必宣告對於第二點,很好解釋,因為宣告的目的在於告訴編譯器有這麼個自定義函式,返回型別是什麼,如果被調函式定義在主調函式之前,那麼編譯器自然就知道了這個函式

你把f2和f1換下位置並去掉宣告就明白了

再說一句,寫函式宣告是編寫程式的良好習慣

請注意這是c程式,c官方宣告標準編譯器是turboc 2。0不要把c++的概念強加給c

我不是說vc++6不好,而是說既然是在學c,就要用標準的c編譯器,只有標準c編譯器才能正確的學習c的基礎理論

10樓:程憐少三姍

可能和編譯器有關,我用vc++6.0這段**沒有問題.可以直接編譯執行.

11樓:撒荌言曉曼

這種編碼風格是確實存在的,是在正式標準c89出現前,甚至是k&rc(這裡特指第二版的,第一版的沒看過)正式出現前就有的風格,現在基本是不用這樣的風格了

不過gcc到底是gcc,這種"洪荒時代"的**風格都可以查了一下,the

cprogramming

language

第二版裡有提到過,中文版

第二版.新版p19

12樓:

這同你的編譯器有關。

我用 ms vc++ 編譯器, 用 cl 命令編譯連結, 把你的**去掉long f2(int), 編譯後執行正確無誤。

你可以把

f1(int p)

和f2(int q)

次序對調一下,這時省去原型宣告long f2(int),也許就可以了。

因為f1要用到f2,先宣告f2,後宣告f1. 你的編譯器較笨。書上是對的。

13樓:同進退

用visual c++6.0很好的!

c語言問題 malloc函式的標頭檔案是什麼?

14樓:聽不清啊

stdlib.h 和 malloc.h 中都有malloc函式的。

15樓:與子如初見

malloc.h 或者 stdlib.h

c語言關於函式的問題?

16樓:車掛怒感嘆詞

c/c++語言中,預設情況下,函式時可以從檔案外部呼叫的。因此,函式儲存型別 extern 可以省略,表示是外部函式。static 用來表示函式儲存型別時,表示內部函式,不能從外部檔案呼叫。

17樓:人文漫步者

誰語言的程式設計中關於函式的運算是有一定的機器法則的,比如說誰等於四1+唉意思就是每次遞增一個。

c語言函式問題?

18樓:周大個子

用指標傳遞,不然形參影響不到實參

19樓:gta小雞

void test(int *x)

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

test(arr+i);

c語言函式問題?

20樓:匿名使用者

先舉個例子:

#include

int max(int,int); //這是函式max的申明,最後要加分號

int main()

int max(int n,int m) //這是函式max的定義部分,最後不加分號

不能在函式體內定義函式是什麼意思?

【就是說函式在程式中不能巢狀定義,這個和pascal語言不同,例如上面程式中,max函式不能定義在main函式中間】

定義是宣告還是使用?

【定義既不是申明,也不是使用,函式具體功能的實現**叫做函式的定義,如上面程式最後7行就是定義】

函式不是應該先宣告在使用嗎?

【是的,但如果函式定義在函式使用之前,就可以不用申明(如下面程式)。函式定義在函式使用後的情況下(如上面程式),先宣告,能使編譯器在編譯在編譯過程中能夠識別使用的函式】

#include

int max(int n,int m) //這是函式max的定義部分,最後不加分號

int main()

定義如何解釋?

【見第二個問題】

c語言的rand函式問題?

21樓:折柳成萌

rand(產生隨機數)

相關函式

srand

表標頭檔案

#include

定義函式

int rand(void)

函式說明

rand()會返回一隨機數值,範圍在0至rand_max 間。在呼叫此函式產生隨機數前,必須先利用srand()設好隨機數種子,如果未設隨機數種子,rand()在呼叫時會自動設隨機數種子為1。關於隨機數種子請參考srand()。

返回值返回0至rand_max之間的隨機數值,rand_max定義在stdlib.h,其值為2147483647。

範例/* 產生介於1 到10 間的隨機數值,此範例未設隨機數種子,完整的隨機數產生請參考

srand()*/

#include

main()}執行

9 4 8 8 10 2 4 8 3 6

9 4 8 8 10 2 4 8 3 6

srand(設定隨機數種子)

相關函式

rand

表標頭檔案

#include

定義函式

void srand (unsigned int seed);

函式說明

srand()用來設定rand()產生隨機數時的隨機數種子。引數seed必須是個整數,通常可以利用geypid()或time(0)的返回值來當做seed。如果每次seed都設相同值,rand()所產生的隨機數值每次就會一樣。

返回值範例

/* 產生介於1 到10 間的隨機數值,此範例與執行結果可與rand()參照*/

#include

#include

main()}執行

5 8 8 8 10 2 10 8 9 9

2 9 7 4 10 3 2 10 8 7

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

首先我們來說一下,你這個程式是有很大的問題的。函式有且只有唯一一個返回值,當程式執行到return的時候,這個函式就結束並返回了。所以,你這裡寫2個return來返回最大值和最小值是不可能的。再者,如果你想使用返回值作為最大值,最小值的傳遞,那麼在main函式中,你呼叫star函式的時候需要一個變數...

c語言題目(函式呼叫),C語言題目(函式呼叫)

a宣告時形參名可以忽略也可以任意合法的變數名,但是其型別不能忽略。以上的講,可能你不好理解,我來告訴你吧 a型別必須要一樣,而且數量一定要相同,宣告形參可以寫也可以不寫 bc語言中,在宣告函式的時候其形式引數可以只是資料型別不用寫出具體的識別符號,如果要寫出具體的識別符號的話,就一定要和函式定義的識...

c語言函式遞迴呼叫的問題,C語言函式遞迴呼叫問題。

首先要知道fun 是一個定義的函式 fun a 相當於fun 3 由下面的函式定義得出fun 3 又fun 2 再求fun 0 因為0不滿足if裡的條件,所以不執行fun 1 所以是0120,希望樓主看明白 先呼叫fun 3 fun 3 中呼叫fun 2 fun 2 中呼叫fun 1 fun 1 中...