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