PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
C_and_CPP
[問題] 函數中參數個數
作者:
dailiner
(呆凜)
2014-05-16 22:42:42
想請問一下,假設現在有個函數,
我設定他最多的參數個數是 4 個,
但其實每次用到這函數的時候參數設定個數不一定,1~4個都有可能,
請問有沒有辦法知道確切個數是幾個?
陣列個數我知道可以用 sizeof
但函數參數估狗找到的幾乎都說不定參數沒辦法準確知道。
舉個例子,像是有個骰子,我請人丟,可以丟1~4次,
根據丟的次數和值,有一套算法來計算每個人的結果並輸出。
void database()
{
throw(1,4,6);
throw(2,2);
throw(6,3,1,5);
throw(5);
}
void throw(char data1, char data2, char data3, char data4)
{
先取得這次丟的次數;
switch(次數)
{
case 1:
計算方式1; //maybe data1*404
break;
case 2:
計算方式2; //maybe data1*203 + data2*200
break;
case 3:
計算方式3; //maybe data1*150 + data2*130 + data3*122
break;
case 4:
計算方式4; //maybe data1*99 + data2*100 + data3*101 + data4*102
break;
default:
break;
}
輸出計算結果;
}
請問有解嗎??卡住好幾天了@_@
謝謝!!
作者:
uranusjr
(â†é€™äººæ˜¯è¶…級笨蛋)
2014-05-16 22:56:00
C++ 的話用預設參數或多載就解了, C 可能要用 va_list
作者:
dailiner
(呆凜)
2014-05-16 23:00:00
是c @@
作者:
LPH66
(-6.2598534e+18f)
2014-05-16 23:00:00
C 的 va_list 需要額外參數幫助才行這個額外參數可以是個數, 也可以是結尾值
作者:
cismjmgoshr
(--???--)
2014-05-16 23:15:00
如果參數都是同一個型態的變數,傳一個指標(或陣列)再加上參數的個數,這樣可行嗎?
作者:
dailiner
(呆凜)
2014-05-16 23:36:00
我試試看~ 謝謝各位~!
作者:
Raymond0710
(雷門)
2014-05-16 23:38:00
傳struct { char data[4]; int size; }
作者:
sunneo
(艾斯寇德)
2014-05-17 05:55:00
用巨集來輔助(參考這討論
" target="_blank" rel="nofollow">
作者:
dailiner
(呆凜)
2014-05-17 11:59:00
謝謝 我試試看~!
作者: TeaEEE (愛不趴 不愛趴)
2014-05-19 02:49:00
沒人覺得原PO真正的解法是用多載嗎?
作者:
LPH66
(-6.2598534e+18f)
2014-05-19 06:55:00
那個, 原 PO 在二樓推了是 C 不是 C++...
繼續閱讀
[問題] RTF檔案加入picture的問題
ceon
[問題] linux socket程式會造成死當
neko0624
[問題] checkedListBox回傳選項編號或文字內容
Klauspan
[問題] 關於SDK_YUV差值影像問題
huangnc04
[問題] Xcode main.c問題
doom0819
[問題] UDP指定IP接收封包
KuoZheChiou
[問題] 用Qt的QTableWidget做出像excel試算效果
wtchen
[問題] 一程式問題 和一個小問題
horse2819
[問題] 單精度 雙精度問題
wu110011
[分享] QCustomPlot -- Qt C++ plotting widget
wtchen
Links
booklink
Contact Us: admin [ a t ] ucptt.com