求解答,关于可变参数列表
  • 板块灌水区
  • 楼主ray2002
  • 当前回复5
  • 已保存回复5
  • 发布时间2020/8/8 11:50
  • 上次更新2023/11/6 20:57:22
查看原帖
求解答,关于可变参数列表
55124
ray2002楼主2020/8/8 11:50

有个问题.... 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;
}

然后不对...求解答

2020/8/8 11:50
加载中...