Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

सी . में मैक्रोज़ के लिए परिवर्तनीय लंबाई तर्क

हम जानते हैं कि हम सी में कार्यों के लिए परिवर्तनीय लंबाई तर्कों का उपयोग कर सकते हैं। इसके लिए हमें इलिप्सिस (...) का उपयोग करना होगा। इसी तरह मैक्रोज़ के लिए, हम वेरिएबल लेंथ तर्कों का उपयोग कर सकते हैं। यहां हमें इलिप्सिस को भी शामिल करना है, '__VA_ARGS__' का उपयोग चर लंबाई के तर्कों को संभालने के लिए किया जाता है। कॉन्सटेनेशन ऑपरेटर '##' का इस्तेमाल वैरिएबल तर्कों को जोड़ने के लिए किया जाता है।

इस उदाहरण में, मैक्रो प्रिंटफ () या स्कैनफ () फ़ंक्शन की तरह परिवर्तनीय लंबाई तर्क लेगा। इस मैक्रो में, हम फ़ाइल नाम, लाइन नंबर और त्रुटि संदेशों को प्रिंट करेंगे। पहला तर्क पीआर है। इसका उपयोग प्राथमिकता निर्धारित करने के लिए किया जाता है अर्थात यह सामान्य जानकारी स्ट्रिंग है या त्रुटि है

उदाहरण

#include <stdio.h>
#define INFO 1
#define ERR 2
#define STD_OUT stdout
#define STD_ERR stderr
#define LOG_MESSAGE(pr, strm, msg, ...) do {\
   char *str;\
   if (pr == INFO)\
      str = "INFORMATION";\
   else if (pr == ERR)\
      str = "ERROR";\
      fprintf(strm, "[%s] : %s : %d : "msg" \n", \
      str, __FILE__, __LINE__, ##__VA_ARGS__);\
} while (0)
int main(void) {
   char *s = "Test String";
   LOG_MESSAGE(ERR, STD_ERR, "Unable to open the file"); //here normal message will be printed
   LOG_MESSAGE(INFO, STD_OUT, "%s is passed as argument", s); //pass string argument
   LOG_MESSAGE(INFO, STD_OUT, "%d + %d = %d", 14, 16, (14 + 16)); //Provide integer
}

आउटपुट

[ERROR] : D:\text.c : 21 : Unable to open the file
[INFORMATION] : D:\text.c : 23 : Test String is passed as argument
[INFORMATION] : D:\text.c : 25 : 14 + 16 = 30

  1. दी गई विकर्ण लंबाई के साथ षट्भुज के क्षेत्रफल के लिए सी कार्यक्रम?

    यहां हम देखेंगे कि विकर्ण लंबाई का उपयोग करके एक षट्भुज का क्षेत्रफल कैसे प्राप्त करें। षट्भुज की विकर्ण लंबाई d है। एक नियमित षट्भुज के प्रत्येक आंतरिक कोण 120° के होते हैं। सभी आंतरिक कोणों का योग 720° होता है। यदि विकर्ण d है, तो क्षेत्रफल है - उदाहरण #include <iostream> #include <cm

  1. Matplotlib में चर लंबाई डेटा के साथ Boxplot

    Matplotlib में चर लंबाई डेटा के साथ एक बॉक्सप्लॉट बनाने के लिए, हम निम्नलिखित कदम उठा सकते हैं - आकृति का आकार सेट करें और सबप्लॉट के बीच और आसपास पैडिंग समायोजित करें। डेटा बिंदुओं की सूची बनाएं। boxplot() का उपयोग करके एक बॉक्स और व्हिस्कर प्लॉट बनाएं विधि। आंकड़ा प्रदर्शित करने के लिए, दिखाएं ()

  1. पायथन में कमांड लाइन और परिवर्तनीय तर्क?

    कमांड लाइन तर्क कमांड लाइन तर्क इनपुट पैरामीटर हैं जो उपयोगकर्ता को एक निश्चित तरीके से कार्य करने के लिए प्रोग्राम को सक्षम करने की अनुमति देते हैं- अतिरिक्त जानकारी आउटपुट करने के लिए, या किसी निर्दिष्ट स्रोत से डेटा पढ़ने के लिए या वांछित प्रारूप में डेटा की व्याख्या करने के लिए। पायथन कमांड लाइ