c函式呼叫問題,哪位高手幫我看一下
1樓:不知詳解
不對 至少要把。
itob的宣告:
void itob(int n,char s,int b) ;
寫在itob函式呼叫之前。
或者把itob函式的定義寫在main之前。
如果不寫電腦會說「itob函式未定義」
類似的**:
#include
void itob();這個叫itob的宣告 ,只有宣告函式c才知道有這個函式或者把itob定義在main前面這樣道理一樣。
int main()《這個叫itob的定義。
c++關於函式呼叫的問題
2樓:網友
不合法呼叫就是說,傳進去的引數不滿足函式原型的引數定義。
比如說你這個例子, 函式的引數定義是 int型, int 型, char 型。
所以傳進去的引數必須是 int 型, int 型, char 型。
在c++中,函式可以有預設的引數,如果呼叫的時候沒有傳某個引數,則這個引數使用預設值,如你這個例子, 第二個引數的預設值是 7, 第三個引數的預設值是'z'
其次,使用預設值的時候,預設引數的順序必須是固定的,不能掉過某個引數使用預設值,比如你這個例子,如果b使用的是預設值,那麼z也必須使用預設值,因為編譯的時候,編 譯器是根據引數的順序來給函式里的值賦值的。
呼叫test函式,a的值為5,b, z使用預設值。
8); 呼叫test函式,a的值為5, b的值為8,z使用預設值。
#'); 呼叫test函式,a的值為5,b的值為'#', 型別不符,雖然這句話的本義可能是b使用默預設值,z的值 為'#',但是編譯器不認識,他只會把第二個引數賦值給第二個形參b
0,'*'); 呼叫test函式,a的值為0,b的值為0,z的值為'*'
因此不合法呼叫是c
3樓:董俊錕
c不符合。
函式呼叫的過程就是把實參傳給形參的過程。
因為函式原型中b 和z都有預設的值,沒有實參傳值就會採用預設值所以a,b,d正確。
c由於第二個將字元型的資料傳給了整型的所以不行。
4樓:網友
c應該是不合法的。
這是乙個有預設值的函式定義。
如果需要呼叫的話,沒有預設值的必須要寫出呼叫時的值,如果還需要其他引數賦予不同的值,其他值需要按順序寫出,即如果寫了第三個,第二個就必須要寫出。
c語言中,函式呼叫的問題!
5樓:潭嘉納弓綺
如果乙個函式要使用引數,它就必須定義接受引數值的變數。
形式引數與實際引數。
函式定義時填入的引數我們稱之為形式引數,簡稱形參,它們同函式內部的區域性變數作用相同。形參的定義是在函式名之後和函式開始的花括號之前。
呼叫時填入的引數,我們稱之為實際引數,簡稱實參。
必須確認所定義的形參與呼叫函式的實際引數型別一致,同時還要保證在呼叫時形參與實參的個數出現的次序也要一一對應。如果不一致,將產生意料不到的結果。與許多其它高階語言不同,(是健壯的,它總要做一些甚至你不希望的事情,幾乎沒有執行時錯誤檢查,完。
全沒有範圍檢測。作為程式設計師,必須小心行事以保證不發生錯誤,安全執行。
賦值呼叫與引用呼叫。
一般說來,有兩種方法可以把引數傳遞給函式。第一種叫做「賦值呼叫」(call
byvalue),這種方法是把引數的值複製到函式的形式引數中。這樣,函式中的形式引數的任何變化不會影響到呼叫時所使用的變數。
把引數傳遞給函式的第二種方法是「引用呼叫」(call
byreference)。這種方法是把引數的位址複製給形式引數,在函式中,這個位址用來訪問呼叫中所使用的實際引數。這意味著,形式引數的變化會影響呼叫時所使用的那個變數。
函式呼叫函式的問題
6樓:金色潛鳥
a=5 呼叫,表明 函式 以 n=5 進入。
if(n==0) return 1; 表明 當 n 變為 0 時 才真正返回, 且返回值為 1。 即 fun=1.
return 2 * fun(n-1) 是遞迴呼叫,每次 n 減 1, 要減到0,則 迴圈 5 次。
所以 2*2*2*2*2 得 32。
換成3*fun(n-1), 因 if(n==0) return 1; fun=1. )
則: 3*3*3*3*3 = 243
c++函式的呼叫到底怎麼去理解
7樓:學c學的崩潰
#include
using namespace std;
int sum(int x,int y)//定義乙個函式,命名為sum
int main()//主函式。
夠詳細了吧。
8樓:網友
可以理解為:被呼叫函式在被呼叫的地方**。
9樓:
c++的函式呼叫和c的是一樣的,呼叫呼叫顧名思義就是拿來用而已,函式就是你定義了乙個模型,好比做磚需要乙個模子,把材料裝進模子裡,經過加工就是乙個磚了,材料不同做出來的磚也不同,也就是模型是一定的,套用不同的引數,結果也不同,這是我對函式的理解,當然比較適合初學者。
c語言中函式呼叫問題
10樓:康憶南
首先我們來說一下,你這個程式是有很大的問題的。函式有且只有唯一乙個返回值,當程式執行到return的時候,這個函式就結束並返回了。所以,你這裡寫2個return來返回最大值和最小值是不可能的。
再者,如果你想使用返回值作為最大值,最小值的傳遞,那麼在main函式中,你呼叫star函式的時候需要乙個變數來接受這個函式的返回值,你這裡沒有用變數來接受,這是第二個錯誤。
第三個錯誤,你這個star函式有2個值需要傳給main函式,所以你這裡使用返回值來傳遞引數是不可能實現的,所以就只能使用指標或者全域性變數來做了。看你的程式,你是想使用指標做的,既然使用指標做,就需要在star函式的引數中使用指標型別資料。
下面是我基於你的程式幫你改的,你可以看看。
#include
void star(int* max,int* min)elseint main()
請哪位高手幫我看一下命盤,請哪位高手幫我看一下八字命盤。
五行缺水和bai火 你的性格太柔弱du了,就算強勢也是外zhi 強中幹dao。好比一艘船,容量太版小就裝不權下太多東西,所以你別太去強求什麼,尤其不要強求財,你求得越多失去的就越多,裝不下啊!適合去東方工作和生活,總算還有對你好的,就是事業不錯,別灰心。感情不是很順,今年和你的男朋友會分手,2011...
C中,有關呼叫外部類函式的問題
模板類的宣告和函bai數體必須都放在du標頭檔案中。zhi否則編譯器在實體 dao化的時候沒辦法根 內據模板引數來 容確認實體部分的 這是規則。如果您不想把模板類的定義放在標頭檔案,那麼唯一的方法就是把模板類定義 實體 使用者都放進file2.cpp。c 怎麼類外定義模板類的成員函式?模板引數怎麼呼...
c 函式結構問題,請高手幫忙,C 一些疑問,請高手幫忙理解一下
是引用的意思 第一個 表示函式返回的一個stock型別的引用第二個 表示函式傳入的引數是一個stock型別的引用如果你不知道引用是啥,那我一句話兩句話也沒法給你解釋清楚,你可以自己上網查查資料 引數型別 引數名 按照這個劃分,對應如下 const stock stock topval const s...