Computer >> Máy Tính >  >> Lập trình >> lập trình C

Làm thế nào để đếm số biến đối số trong C?

Trong phần này, chúng ta sẽ xem cách đếm số lượng đối số trong trường hợp số lượng đối số thay đổi trong C.

C hỗ trợ dấu chấm lửng. Điều này được sử dụng để nhận số lượng đối số thay đổi cho một hàm. Người dùng có thể đếm các đối số bằng cách sử dụng một trong ba cách khác nhau.

  • Bằng cách chuyển đối số đầu tiên dưới dạng số lượng các tham số

  • Bằng cách chuyển đối số cuối cùng là NULL.

  • Sử dụng logic như printf () hoặc scanf () trong đó đối số đầu tiên có trình giữ chỗ cho các đối số khác.

Trong chương trình sau, chúng ta sẽ tổng số biến của các đối số được truyền vào.

Mã mẫu

#include<stdio.h>
#include <stdarg.h>
int get_avg(int count, ...) {
   va_list ap;
   int i;
   int sum = 0;
   va_start(ap, count); //va_start used to start before accessing arguments
   for(i = 0; i < count; i++) {
      sum += va_arg(ap, int);
   }
   va_end(ap); //va_end used after completing access of arguments
   return sum;
}
main() {
   printf("Total variable count is: %f", get_avg(5, 8, 5, 3, 4, 6));
}

Đầu ra

Total variable count is: 5