इस खंड में हम देखेंगे कि C में वेरिएबल संख्या में आर्गुमेंट्स के मामले में आर्गुमेंट्स की संख्या कैसे गिनी जाती है।
C एलिप्सिस (...) को सपोर्ट करता है। इसका उपयोग किसी फ़ंक्शन में वेरिएबल संख्या में आर्गुमेंट्स लेने के लिए किया जाता है। यूजर तीन अलग-अलग तरीकों से आर्गुमेंट्स गिन सकता है।
पहले आर्गुमेंट को पैरामीटर्स की संख्या के रूप में पास करके
अंतिम आर्गुमेंट को NULL के रूप में पास करके
printf() या scanf() की तरह लॉजिक का उपयोग करके जहां पहला आर्गुमेंट अन्य आर्गुमेंट्स के लिए प्लेसहोल्डर्स रखता है
निम्नलिखित प्रोग्राम में, हम पास किए गए वेरिएबल आर्गुमेंट्स की कुल संख्या निकालेंगे।
उदाहरण कोड
#include <stdio.h>
#include <stdarg.h>
int get_avg(int count, ...) {
va_list ap;
int i;
int sum = 0;
va_start(ap, count); // आर्गुमेंट्स एक्सेस करने से पहले शुरू करने के लिए
for (i = 0; i < count; i++) {
sum += va_arg(ap, int);
}
va_end(ap); // आर्गुमेंट्स की एक्सेस पूरी होने के बाद
return sum / count; // औसत लौटाएं
}
int main() {
printf("कुल वेरिएबल काउंट है: %d", get_avg(5, 8, 5, 3, 4, 6));
return 0;
}
आउटपुट
कुल वेरिएबल काउंट है: 5
नोट: मूल कोड में आउटपुट फॉर्मेट स्पेसिफायर %f था जो गलत था, इसे %d से ठीक किया गया है। फ़ंक्शन अब औसत लौटाता है न कि काउंट।