Zi 字媒體
2017-07-25T20:27:27+00:00
C/C++ 的function 不固定參數
資料來源:http://www07.eyny.com/thread-10257519-1-3D41XTMV.html
線上執行:https://www.tutorialspoint.com/compile_c_online.php
Code:
#include
#include // << 使用不定參數比須include 這個
/* C 的function 不固定參數.
使用上並不會限制你傳幾個.
限制只在於你的stack 大小.
以現在的windows 下的應用程式, 傳了上百個以上也沒問題.
至於怎麼取得不固定參數的值.
如下的example */
#define PP printf
int average(int count,...)
{
int sum=0;
va_list args;
va_start(args,count);
// 初始化 不定參數列
int i;
for(i = 0 ; i < count ; ++i)
{
int arg = va_arg(args,int); // 讀取參數, 每次讀取後就會指到下一個, 至於參數的型別, 必須由程式設計師自己想辦法判段
sum+=arg;
}
return sum/count;
}
int main(int argc, char* argv[])
{
PP("Average is : %d\n",average(3,1,2,3));
PP("Average is : %d\n",average(4,1,100,3,4));
return 0;
}
寫了
5860316篇文章,獲得
23313次喜歡