1樓:匿名使用者
優化了你的程式,問題好多,你自己研究一下吧#include
int ds(int x) /真心看不懂你的ds()函式思想!有那麼複雜嗎?
return x0;
}int yz(int sum1)
int main()
/**如果不為顯示中間結果,這些都可以省。
x0=ds(x);
sum=x+x0;
n++;printf("第%d次計算%d+%d=%d",n,x,x0,sum);
x=sum;
x+=ds(x);
n++;不管第1次輸入的是不是回數,都要算,就把上面的刪除,放開此處if(yz(x))
**/if(i>7)
}return 0;}
c語言函式呼叫問題 50
2樓:滄海雄風
#include
int main()
else}return 0;
}int first()
你那樣迴圈呼叫main函式是不對的。
3樓:匿名使用者
你在printf no 那一行前面加一個else就正常了。
求教 c語言函式呼叫問題
4樓:指尖遊戲
不能,在同一個函式中,所有**是從上往下執行的。
調 用的子函式中的引數可能影響前面所定義的資料,但絕對不會影響呼叫之前的**。
5樓:匿名使用者
沒太看明白你說的問題呢。
把一段**做成函式後,就可以在任意地方呼叫了。
除非函式里有全域性的變數,不然不會影響上下文的程式。
c語言呼叫函式問題
6樓:滄海雄風
你意思用全域性變數?
還有其他方法啊。
你這個算一種。
還有 返回值的方法。
比如 main中呼叫。
int fun(int a,int b)
main()
那麼可以在main函式中用變數來接收這個計算結果和指標操作的方法。
void fun(int *a)
main()
都可以讓子函式改變主函式里的變數而不用搞全域性變數。
7樓:gta小雞
不明白你想表達什麼,但函式宣告時的形式和呼叫時的形式必須一致。例如宣告函式void foo(int, double),則呼叫foo時必須傳遞一個int型和一個double型作為實參。
c語言關於函式呼叫的問題 10
8樓:反翽葚讛笀仕藖
哈哈,自然是不會變了,這是值傳遞,也就是將數值傳給被調函式,要實現通過函式呼叫改變主調函式的變數值,要用陣列傳遞或指標傳遞。
c語言如何呼叫函式
9樓:墨陌沫默漠末
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函式的斷點繼續執行。
10樓:天雲一號
c語言呼叫函式就是先定義並宣告函式,之後再根據定義函式的格式呼叫。
下面舉例來說明函式呼叫方法:
#include
int fun(int x, int y); 函式宣告,如果函式寫在被呼叫處之前,可以不用宣告。
void main()
// 自定義函式fun
int fun(int x, int y) /函式首部中的語言為函式體。
return x>y ? x : y; /返回x和y中較大的一個數}
11樓:尖子生管理員小宇
本次課程主要講解vs13下如何使用輸出函式printf,以及相關的格式輸出說明符的呼叫,對於不是計算機專業想要學程式設計的學生來說,是一個很好的基礎教程,希望大家可以認真跟我一起從0基礎開始學開發!
12樓:丘燦墨梓榆
static
靜態變數。因為它定義在函式中,所以是區域性靜態變數。區域性靜態變數,在函式返回後儲存單元不釋放;下一次呼叫該函式時,該變數為上次函式返回時的值。
13樓:網友
下面這個是已經除錯好的,希望你參考一下。
#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);}
14樓:鄢綠竺元英
#include
#include
floatjis(float);
main()
floatjis(float
x)這樣就對了,對了一般不需要用double,float的精度已經夠了!還有用數學函式sinx時一定要加上標頭檔案#include
希望對你有所幫助!
15樓:寶燕伍依霜
1)在棧上建立。在執行函式時,函式內區域性變數的儲存單元都在棧上建立,函式執行結束時這些儲存單元自動被釋放。棧記憶體分配運算內建於處理器的指令集中,一般使用暫存器來存取,效率很高,但是分配的記憶體容量有限。
2)從堆上分配,亦稱動態記憶體分配。程式在執行的時候用malloc或new申請任意多少的記憶體,程式設計師自己負責在何時用free或delete來釋放記憶體。動態記憶體的生存期由程式設計師自己決定,使用非常靈活。
3)從靜態儲存區域分配。記憶體在程式編譯的時候就已經分配好,這塊記憶體在程式的整個執行期間都存在。例如全域性變數,static變數。
4)文字常量分配在文字常量區,程式結束後由系統釋放。
5)程式**區。
16樓:匿名使用者
建議你把不用的變數不要用,例如那個s,你也沒用到什麼,還有你的結果在sum函式中顯示了,為什麼還要用到return z這個呢,我有點不明白;.
17樓:匿名使用者
少一個頭函式,住函式沒有返回值,應該用void。
#include
#include
int sum(int x,int y)
void main()
18樓:網友
你這個編譯是成功的。
在函式體內的是實參或是說參加運算的為實參。
形參就是在函式體外的。
19樓:冀峰馬躍
靜態變數麼。
保留上一次的值。
c語言 函式呼叫 的問題。
20樓:匿名使用者
函式都要求有一個返回值,無返回值函式就是說不需要返回值了,通常這類函式的定義型別都是 void 也就是無返回值的意思。
呼叫的時候,比如有一函式寫為:
void print()
在主函式中呼叫的時候直接寫上呼叫函式的函式名就可以 了。
如:int main()
21樓:一千館原創短**
無返回值的函式也是函式名(參數列)這樣呼叫啊。
只是沒有返回值而已。其他沒什麼區別。
c語言呼叫函式的問題 10
22樓:匿名使用者
你寫的程式,函式呼叫前,陣列元素初始化為 全 0。函式呼叫時,函式內 有迴圈 語句,執行: vals[i] =1; 把所有元素 賦新值為 1。
所以輸出 1。 -應修改: void findmax(int vals,int *m) /返回m要用指標 printf("m = d", m); 函式呼叫:
findmax(nums, &value); 函式原型宣告: void findmax(int vals,int *m) ;
在呼叫函式時,函式是怎樣傳值的,c語言函式呼叫時,實參和形參是如何傳遞的?什麼時候要寫指標型變數?求高手指點
毋惜苼 在c語言中,實參將值傳給函式中的形參,實現了自上而下的值傳遞,就可以呼叫函式了。舉個淺顯一點的例子吧 include void main int swap int x,int y 在主函式中,將實參a,b的值傳遞給被呼叫函式中的形參x,y,即將a,b分別代入x,y中計算,即達到了呼叫的目的。...
c語言 函式定義概念問題,C語言 函式定義概念問題
及時澍雨 先舉個例子 include int max int,int 這是函式max的申明,最後要加分號 int main int max int n,int m 這是函式max的定義部分,最後不加分號 不能在函式體內定義函式是什麼意思?就是說函式在程式中不能巢狀定義,這個和pascal語言不同,例...
C語言函式問題
先舉個例子 include int max int,int 這是函式max的申明,最後要加分號 int main int max int n,int m 這是函式max的定義部分,最後不加分號 不能在函式體內定義函式是什麼意思?就是說函式在程式中不能巢狀定義,這個和pascal語言不同,例如上面程式...