有个问题....
C语言,写函数的时候,可变参数列表,一直搞不太懂
比方说一个比大小的程序 老师讲的时候,
是 int max_int (int n,..)
然后先输入一个位数(也就是n)
然后再循环比较。
我想能不能不输入那个n....
那后就试了一下
int max_int(int n,... ){
int ans = 0;//声明答案
va_list arg;//声明参数
va_start(arg,n);//从n开始
int a[100]={0};//初始化为0
int i=1;//声明计数器 ,用来记录读入次数
int maxn=0;//声明计数器,用来记录读入个数
do{
a[i]=va_arg(arg,int);//令a[i]存储参数列表中第i个
i++;//i++
maxn++;//manx++
}
while(a[i-1]);//当读入不进来时,停止循环
while(maxn--){//循环maxn次,判断
if(a[maxn] > ans) ans = a[maxn];//更新ans
}
va_end(arg);//结束
return ans;
}
然后不对...求解答