請問一個不定參數函式問題 |
答題得分者是:Stallion
|
willchen
初階會員 發表:64 回覆:81 積分:29 註冊:2003-05-23 發送簡訊給我 |
#include
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
willchen
初階會員 發表:64 回覆:81 積分:29 註冊:2003-05-23 發送簡訊給我 |
#include報歉,重貼一次,增加板主困擾請見諒 |
supman
尊榮會員 發表:29 回覆:770 積分:924 註冊:2002-04-22 發送簡訊給我 |
您好:
我幫您改了一下:
#include |
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
|
supman
尊榮會員 發表:29 回覆:770 積分:924 註冊:2002-04-22 發送簡訊給我 |
|
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
willchen 您好: 您所說的 "亂碼" 應該是沒有設定參數結尾的檢查字元,因此迴圈未能適時結束掉所致。 以下是參照 BCB Help 的範例來修改您的程式敘述,因為您以字串為參數,因此我在程式中以 NULL 字元為結尾的檢查參數 (當然您也可以以其它的字元來當作結尾的檢查參數),執行結果是 OK 的,另外您的寫法會像 Stallion 所說的一樣,會無法顯示出第一組參數字串,這是因為您僅有處理 "不定參數" 的部份,而忽略掉了第一組的 "固定參數",所以才無法印出第一個參數字串,我將它補進去並加註了說明,您參考一下:
#include |
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
|
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
|
willchen
初階會員 發表:64 回覆:81 積分:29 註冊:2003-05-23 發送簡訊給我 |
|
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
引言: 請問一下,一定得在函數後面加個NULL才可以印多個字串嗎?? 這個想法我也有想過,但覺得這樣的函式使用起來不方便 有比較好的寫法可以省掉NULL嗎??willchen兄,以下摘錄一段va...系列的函數說明: Return Value va_start and va_end return no values; va_arg returns the current argument in the list (the one that ap is pointing to). 所以引用這個函數解析不定參數,一定要傳一給值作為爾後var_arg解出來的值作為比對,以利爾後程設者可以知道已經到了參數尾,這個函數無法一開始就可提供到底呼叫者傳了多少個參數過來。 ----------------------------------------------- |
supman
尊榮會員 發表:29 回覆:770 積分:924 註冊:2002-04-22 發送簡訊給我 |
|
willchen
初階會員 發表:64 回覆:81 積分:29 註冊:2003-05-23 發送簡訊給我 |
|
willchen
初階會員 發表:64 回覆:81 積分:29 註冊:2003-05-23 發送簡訊給我 |
|
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
willchen 您好:
引言:請問一下,一定得在函數後面加個NULL才可以印多個字串嗎?? 這個想法我也有想過,但覺得這樣的函式使用起來不方便 有比較好的寫法可以省掉NULL嗎??不是非要在函式後方加上個 NULL 不可,只不過以您宣告的方式來處理時,這是最簡單與最直覺的作法,給您一個不同方式的範例參考一下: #include上述範例是將第一組參數 (固定參數) 改為 int,並以不定參數的數量為值傳給 MultiPrint() 來處理。 |
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
|
supman
尊榮會員 發表:29 回覆:770 積分:924 註冊:2002-04-22 發送簡訊給我 |
|
willchen
初階會員 發表:64 回覆:81 積分:29 註冊:2003-05-23 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |