?? algo5-2.cpp
字號(hào):
// algo5-2.cpp 變長(zhǎng)參數(shù)表(函數(shù)的實(shí)參個(gè)數(shù)可變)編程示例
#include"c1.h"
#include<stdarg.h> // 實(shí)現(xiàn)變長(zhǎng)參數(shù)表要包括的頭文件
typedef int ElemType;
ElemType Max(int num,...) // ...表示變長(zhǎng)參數(shù)表,位于形參表的最后,前面必須有至少一個(gè)固定參數(shù)
{ // 函數(shù)功能:返回num個(gè)數(shù)中的最大值
va_list ap; // 定義ap是變長(zhǎng)參數(shù)表類型(C語(yǔ)言的數(shù)據(jù)類型)
int i;
ElemType m,n;
if(num<1)
exit(ERROR);
va_start(ap,num); // ap指向固定參數(shù)num后面的實(shí)參表
m=va_arg(ap,ElemType); // 依次讀取ap所指的實(shí)參(以逗號(hào)為分隔符)作為ElemType類型實(shí)參,ap向后移
for(i=1;i<num;++i)
{
n=va_arg(ap,ElemType); // 同上
if(m<n)
m=n;
}
va_end(ap); // 與va_start()配對(duì),結(jié)束對(duì)變長(zhǎng)參數(shù)表的讀取,ap不再指向變長(zhǎng)參數(shù)表
return m;
}
void main()
{
printf("1.最大值為%d\n",Max(4,7,9,5,8)); // 在4個(gè)數(shù)中求最大值,ap最初指向“7,9,5,8”
printf("2.最大值為%d\n",Max(3,17,36,25)); // 在3個(gè)數(shù)中求最大值,ap最初指向“17,36,25”
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -