| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
#include  <stdio.h> 
#include  <stdarg.h> 
 
int sum (int n , ... ); 
int sum (int n , ... ) 
{ 
        int i , sum1 = 0; 
        va_list vap; 
        va_start ( vap , n ); 
        for ( i = 0 ; i < n ; i++ ) 
        { 
                sum1 += va_arg ( vap , int ); 
        } 
        va_end ( vap ); 
        return sum1; 
} 
int main() 
{ 
        int result; 
        result = sum(1,2,3); 
        printf("result = %d\n",result); 
        return 0; 
}
- int sum (int n , ... )
 
 - {
 
 -         int i , sum1 = 0;
 
 -         va_list vap;
 
 -         va_start ( vap , n );
 
 -         for ( i = 0 ; i < n ; i++ )
 
 -         {
 
 -                 sum1 += va_arg ( vap , int );
 
 -         }
 
 -         va_end ( vap );
 
 -         return sum1;
 
 - }
 
  复制代码 
你自己写的,n是拿来干嘛的,是拿来表示参数数量的啊。 
你这里n=1,那么只会计算2的和,那就是2啊  
 
 
 |   
 
 
 
 |