看板 C_and_CPP 關於我們 聯絡資訊
提供你一個方法 也請其他高手不吝指教 以下為程式碼 //main.cpp void file_1(); void file_2(); int N; int main(){ printf("Enter N:"); scanf("%d",&N); //enter 100 file_1(); file_2(); system("pause"); return 0; } //file 1.cpp extern int N; void file_1(){ int s; s=N*2; printf("s = %d\n",s); //s = 200; } //file 2.cpp extern int N; void file_2(){ int a; a=N++; printf("a = %d\n",a); // a = 101; } 記得要先把N宣告為全域變數 然後只要不同的file直接用extern就好 如果所有的function都在同一個檔案內 那就是全域變數就可以了 然後每個file或是function內就不能再有N,不然會出問題 這寫法有一個危險就是N有可能會不小心被更動 因為無法被宣告為const int N 如果有方法可以解決這問題,再請高手指教 ※ 引述《claude51315 (淼)》之銘言: : 小弟目前遇到一個問題 : 為了剛開始方便這樣寫 : #define N 100 : 之後寫了許多function都直接拿 N 來用 : 如果之後要讓使用者自己輸入新的 N 執行 : 請問要怎麼處理那些在函式中的 N 呢?? @@ : 只能在宣告函式時多餵一個參數進去嘛? : 麻煩板上的大大了! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.233.78.140 ※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1416667732.A.A04.html ※ 編輯: jacky1989 (118.233.78.140), 11/22/2014 22:49:40 ※ 編輯: jacky1989 (118.233.78.140), 11/22/2014 22:50:35 ※ 編輯: jacky1989 (118.233.78.140), 11/22/2014 23:28:00
scwg: 在其他檔案裡寫 extern const int N; 不改 main.cpp? 11/23 09:56
有試過,但是編譯會失敗 ※ 編輯: jacky1989 (140.136.146.114), 11/23/2014 11:24:36
uranusjr: scanf 不能接受 const int * 所以不行 11/23 14:11
uranusjr: 不改 main.cpp 的話就是 type mismatch 了 11/23 14:11