C语言 为什么要用比va_arg中的第一个参数小的数字进行循环?



我几乎理解了这个函数,但是当我查看示例时,我感到疑惑。为什么For语句循环直到i小于count?

int
add_em_up (int count,...)
{
va_list ap;
int i, sum;
va_start (ap, count);         /* Initialize the argument list. */
sum = 0;
for (i = 0; i < count; i++)
sum += va_arg (ap, int);    /* Get the next argument value. */
va_end (ap);                  /* Clean up. */
return sum;
}
int
main (void)
{
/* This call prints 16. */
printf ("%dn", add_em_up (3, 5, 5, 6));
/* This call prints 55. */
printf ("%dn", add_em_up (10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10));
return 0;
}

我试图通过查看各种解释来理解这个概念,但这并不容易。我理解第一个参数是列表的第一个参数。这是第一个参数,为什么我们要在这里循环呢?但是为什么呢?我想知道为什么!请帮帮我!

For语句循环直到I小于count?

它不会-当时它会循环I小于count

好吧,这是一个如此简单的问题,像你这样的专家一定很困惑。我正在实现printf。例如,实现了以下特性:

int printf(const char *str, ...) //funtion
printf("my name : %s n my age : %d n", "baby coder", 1);

const char: "my name: %s n my age: %d n"参数:婴儿编码器,1

这就是为什么旋转循环直到'i'小于str的数量…!

相关内容

  • 没有找到相关文章

最新更新