請問為何呼叫不到函數 |
答題得分者是:Stallion
|
dsp555
一般會員 發表:3 回覆:0 積分:0 註冊:2007-03-24 發送簡訊給我 |
各位長輩好:
晚輩照書上打的程式呼叫不到函數為何呢? 程式如下: 1 #include 2 void main() 3 { 4 int x,y; 5 x=10; 6 y=20; 7 printf("before swap: x=%d,y=%d\n ",x,y); 8 swap(x,y); 9 printf(''after swap: x=%d,y=%d\n ",x,y'); 10 } 11 swap(a,b) 12 inta,b; 13 { 14 printf("in swap :a=%d,b=%d\n",a,b); 15 } ******************************* 執行後的錯誤如下: 8: function 'swap' shoule have a prototype 11: style of function definition is now obsole 15: function should return a value 請問各位長輩這程式那出問題了 謝謝各位 |
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
C語言的特性就是函數或變數被呼叫使用前應該要先宣告,所以解決方案有二:
1.先宣告。 void swap(int a, int b); 把這行放在 void main()的前面。 2.把這兩個函數次序顛倒過來(被呼叫的函數就等於先宣告了)。 #include < stdio.h > void swap(int a,int b) { printf("in swap :a=%d,b=%d\n",a,b); } { int x,y; x=10; y=20; printf("before swap:x=%d,y=%d\n",x,y); swap(x,y); printf(''after swap:x=%d,y=%d\n",x,y'); } |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |