主函式c語言的輸入值怎麼傳給呼叫函式

時間 2023-02-22 15:40:10

1樓:墨陌沫默漠末

c語言中,函式呼叫的一般形式為:

函式名(實際參數列)

對無參函式呼叫時則無實際參數列。實際參數列中的引數可以是常數、變數或其它構造型別資料及表示式。各實參之間用逗號分隔。

#include

int fun(int x, int y); 函式宣告,如果函式寫在被呼叫處之前,可以不用宣告。

void main()

// 自定義函式fun

int fun(int x, int y) /函式首部。

中的語言為函式體。

return x>y ? x : y; /返回x和y中較大的一個數。

圖表示了兩層巢狀的情形。其執行過程是:執行main函式中呼叫a函式的語句時,即轉去執行a函式,在a函式中呼叫b 函式時,又轉去執行b函式,b函式執行完畢返回a函式的斷點繼續執行,a函式執行完畢返回main函式的斷點繼續執行。

2樓:天雲一號

c語言呼叫函式就是先定義並宣告函式,之後再根據定義函式的格式呼叫。

下面舉例來說明函式呼叫方法:

#include

int fun(int x, int y); 函式宣告,如果函式寫在被呼叫處之前,可以不用宣告。

void main()

// 自定義函式fun

int fun(int x, int y) /函式首部中的語言為函式體。

return x>y ? x : y; /返回x和y中較大的一個數}

3樓:尖子生管理員小宇

本次課程主要講解vs13下如何使用輸出函式printf,以及相關的格式輸出說明符的呼叫,對於不是計算機專業想要學程式設計的學生來說,是一個很好的基礎教程,希望大家可以認真跟我一起從0基礎開始學開發!

4樓:丘燦墨梓榆

static

靜態變數。因為它定義在函式中,所以是區域性靜態變數。區域性靜態變數,在函式返回後儲存單元不釋放;下一次呼叫該函式時,該變數為上次函式返回時的值。

5樓:網友

下面這個是已經除錯好的,希望你參考一下。

#include

#definen10

voidmain()

a[count]=sum;

sum=0;

count++;

j=0;}}

for(i=0;iprintf("%d

",a[i]);

printf("there

are%dnumber

inthis

string",count);}

6樓:鄢綠竺元英

#include

#include

floatjis(float);

main()

floatjis(float

x)這樣就對了,對了一般不需要用double,float的精度已經夠了!還有用數學函式sinx時一定要加上標頭檔案#include

希望對你有所幫助!

7樓:寶燕伍依霜

1)在棧上建立。在執行函式時,函式內區域性變數的儲存單元都在棧上建立,函式執行結束時這些儲存單元自動被釋放。棧記憶體分配運算內建於處理器的指令集中,一般使用暫存器來存取,效率很高,但是分配的記憶體容量有限。

2)從堆上分配,亦稱動態記憶體分配。程式在執行的時候用malloc或new申請任意多少的記憶體,程式設計師自己負責在何時用free或delete來釋放記憶體。動態記憶體的生存期由程式設計師自己決定,使用非常靈活。

3)從靜態儲存區域分配。記憶體在程式編譯的時候就已經分配好,這塊記憶體在程式的整個執行期間都存在。例如全域性變數,static變數。

4)文字常量分配在文字常量區,程式結束後由系統釋放。

5)程式**區。

8樓:匿名使用者

建議你把不用的變數不要用,例如那個s,你也沒用到什麼,還有你的結果在sum函式中顯示了,為什麼還要用到return z這個呢,我有點不明白;.

9樓:匿名使用者

少一個頭函式,住函式沒有返回值,應該用void。

#include

#include

int sum(int x,int y)

void main()

10樓:網友

你這個編譯是成功的。

在函式體內的是實參或是說參加運算的為實參。

形參就是在函式體外的。

11樓:冀峰馬躍

靜態變數麼。

保留上一次的值。

c語言中主函式中定義的變數,呼叫函式里還需要再定義嗎?

12樓:藤原子大雄

在程式設計中,時時刻刻都用到變數的定義和變數的宣告,可有些時候我們對這個概念不是很清楚,知道它是怎麼用,但卻不知是怎麼一會事,下面我就簡單的把他們的區別介紹如下:

變數的宣告有兩種情況:

(1) 一種是需要建立儲存空間的(定義、宣告)。例如:int a在宣告的時候就已經建立了儲存空間。

(2) 另一種是不需要建立儲存空間的(宣告)。例如:extern int a其中變數a是在別的檔案中定義的。

前者是"定義性宣告(defining declaration)"或者稱為"定義(definition)",而後者是"引用性宣告(referncing declaration)"。從廣義的角度來講宣告中包含著定義,但是並非所有的宣告都是定義,例如:int a它既是宣告,同時又是定義。

然而對於extern a來講它只是宣告不是定義。一般的情況下我們常常這樣敘述,把建立空間的宣告稱之為"定義",而把不需要建立儲存空間稱之為"宣告"。很明顯我們在這裡指的宣告是範圍比較窄的,也就是說非定義性質的宣告。

例如:在主函式中。

int main()

int a; /是定義,定義了a為整型的外部變數(全域性變數)

外部變數(全域性變數)的"定義"與外部變數的"宣告"是不相同的,外部變數的定義只能有一次, 它的位置是在所有函式之外,而同一個檔案中的外部變數宣告可以是多次的,它可以在函式之內(哪個函式要用就在那個函式中宣告)也可以在函式之外(在外部變 量的定義點之前)。系統會根據外部變數的定義(而不是根據外部變數的宣告)分配儲存空間的。對於外部變數來講,初始化只能是在"定義"中進行,而不是在" 宣告"中。

所謂的"宣告",其作用,是宣告該變數是一個已在後面定義過的外部變數,僅僅是在為了"提前"引用該變數而作的"宣告"而已。extern只作 宣告,不作定義。

用static來宣告一個變數的作用有二:

(1) 對於區域性變數用static宣告,則是為該變數分配的空間在整個程式的執行期內都始終存在。

(2) 外部變數用static來宣告,則該變數的作用只限於本檔案模組。

13樓:匿名使用者

不大明抄白你的意思!!

在函式襲中定義的變數,其作用域只是在該函式里,其他函式想使用這個變數,需要通過其他方式,不能直接使用變數名字來訪問這個變數。

作用域規定的是名字的適用範圍。 在函式中定義的變數,他的名字的使用範圍僅僅只是這個函式。

所以其他函式中可以定義與這個函式相同名字的變數。

名字雖相同,但所指不同。

14樓:倒黴熊

主函式中定義的變數只能在主函式中使用 如果別的函式想使用 就需要自己定義。

15樓:匿名使用者

你是想在函式里使用主函式的變數嗎?函式具有區域性性,如果需要使用變數的話得在函式區再定義,與主函式獨立;如果想在函式里修改主函式值可以使用引用&,或把主函式變數定義在標頭檔案下,形成全域性變數就可以了。

16樓:晨曦月殤

c語言中主函式中定bai義的變du量只能在主函式中使用,zhi所以你還得再定dao

義一個變數。版。

當然權,捏可以把主函式中定義的這個變數傳遞給被呼叫的函式作為引數。

例如void fun(int x)

main()

但是如果你要在被呼叫函式中使用這個變數例如fun()

像這樣,就是錯的,編譯器會報錯,main中定義的變數是區域性變數,只能在main中使用。

你可以在main外部定義一個變數,這樣在被呼叫函式中也就可以使用了。

17樓:實小林志堅

沒有特別原因的話,就不需要再定義,注意初值處理。

18樓:匿名使用者

要的,還可以強制型別的轉換,比如max(int x,int z)

c語言中呼叫函式的返回值,如果是陣列,主函式要輸出這個陣列怎麼實現啊

19樓:大野瘦子

用指標抄,另外儲存資料的變數襲。

退出函式時不得bai消失。

例如:du#include

int * fun(int n)

void main()

得 0 1 2 3 4

注意事項。1、陣列的維度必須是一個常量表示式。

int main(void)

2、預設情況下,陣列的元素被預設初始化。

而且需要注意的是,和內建型別的變數一樣,如果在函式內部定義了某種內建型別的陣列,那麼預設初始化會令陣列有未定義的值。

20樓:

一般用 函式的 引數傳遞。

如果要通過函式返回值傳遞,可以用指標,另外儲存資料版的變數退出函式時不得消權失。

例如:#include

int * fun(int n)

void main()

得 0 1 2 3 4

21樓:匿名使用者

沒看見過這種用法,如果你的陣列是區域性變數,不能作為返回值,因為函式返回陣列就被釋放掉了(棧記憶體)

如果是全域性變數陣列,對陣列操作的同時資料已經發生改變,不需要返回。

如果是動態陣列,以指標型別返回。

c語言如何把一個函式的返回值傳遞給另一個函式

22樓:蕭竣閏

在另一個函式內呼叫該函式。從而得到該函式的返回值,實現傳遞。

例:int sum(int m,int n)void main()

此例中,main函式在輸出語句中呼叫sum函式從而得到sum函式的返回值並輸出。

23樓:匿名使用者

用一個變數「記住」函式的返回值,然後在另一個函式中使用這個變數(要把變數設定成全域性變數),或者把這個變數當做引數。

比如說,要求三個數的最大值。

int max(long a,long b)..long a,b,c,maxnum;

maxnum=max(max(a,b),c);

或long a,b,c,maxnum;

maxnum=max(a,b);

maxnum=max(maxnum,c);

24樓:使命聽一聽召喚

你是像這樣嗎。

#include

int f1(int x)

int f2(int x)

int main()

不是很明白你的意思。

25樓:卒子的瘋狂

你可以在f2()函式里呼叫 fi() 函式就可以了。

26樓:寧磊寧磊好

呼叫。學的太淺了見諒啊!

27樓:匿名使用者

這是怎麼樣一種問題?

cóïñôèçºî°ñö÷º¯êýöðêäèëµäöµôú±»µ÷º¯êýöðê¹óã

c語言main主函式帶引數是做什麼用的

28樓:月亮愛你

在呼叫可執行程式時,可以通過main函式的引數將命令列的呼叫引數傳遞給main函式。

一個c程式有且僅有一個main函式,任何一個c程式總是從main函式開始執行,main函式後面的一對圓括號不能省略。

具體形式如下:

main()

被大括號括起來的內容稱為main函式的函式體,這部分內容就是計算機要執行的內容。

在裡面每一句話後面都有一個分號(;)在c語言中,我們把以一個分號結尾的一句話叫做一個c語言的語句,分號是語句結束的標誌。

在呼叫函式時,函式是怎樣傳值的,c語言函式呼叫時,實參和形參是如何傳遞的?什麼時候要寫指標型變數?求高手指點

毋惜苼 在c語言中,實參將值傳給函式中的形參,實現了自上而下的值傳遞,就可以呼叫函式了。舉個淺顯一點的例子吧 include void main int swap int x,int y 在主函式中,將實參a,b的值傳遞給被呼叫函式中的形參x,y,即將a,b分別代入x,y中計算,即達到了呼叫的目的。...

c語言,編寫程式用scanf函式輸入x的值,計算並輸出y的值

赫菊孛歌 include void main include void main 從這兩個程式來看,你還是新手,你應該還是都熟練語法,另外要格外重視語言編寫的規範,把程式寫的有格式對你有很大的幫助 個人是這樣的覺得 万俟永芬俎水 scanf d x y不用輸入 if x 1 條件x 1成立時,這兩句...

在c語言中主函式是不是必須要有返回值

main 函式的返回值型別必須是 int 這樣返回值才能傳遞給程式的啟用者 如作業系統 如果 main 函式的最後沒有寫 return 語句的話,c99 規定編譯器要自動在生成的目標檔案中 如 exe 檔案 加入return 0 表示程式正常退出。在c語言標準中強制要求main函式的返回值型別為in...