2009-03-11 16 views
7

हाल ही में एक साक्षात्कार में मुझे पूछा गया था कि printf का हस्ताक्षर क्या है। मुझे वास्तव में सही जवाब नहीं मिल सका। क्या कोई इस पर कुछ प्रकाश डालने में सक्षम होगा?printf का हस्ताक्षर क्या है?

+2

यदि आप एक साक्षात्कार में फंस गए हैं, खासकर तथ्य के सवाल पर, साक्षात्कारकर्ता से पूछें! यदि आप विनम्र हैं, और वे झटकेदार नहीं हैं, तो मैं कल्पना नहीं कर सकता कि वे आपको मना कर रहे हैं। – Ken

उत्तर

23
int printf (const char * format, ...); 

वे शायद यह देखने के लिए कह रहे थे कि क्या आप वैकल्पिक पैरामीटर सिंटैक्स "..." से परिचित हैं। यह आपको चर की एक अनिश्चित सूची को पारित करने की अनुमति देता है जो प्रारूप स्ट्रिंग में भर जाएगा।

उदाहरण के लिए, एक ही विधि का इस तरह बातें मुद्रित करने के लिए इस्तेमाल किया जा सकता:

printf("This is a string: %s", myString); 
printf("This is a string: %s and an int: %d", myString, myInt); 
+0

या वे शायद सोच रहे होंगे कि क्या साक्षात्कारकर्ता जानता था कि printf() एक int देता है। –

+1

ईमानदार होने के लिए, मुझे नहीं पता था कि यह अभी तक –

+0

तक एक int वापस लौटा है, मुझे उम्मीद है कि वे विविध वाक्यविन्यास के बाद थे। अगर वे वापसी के प्रकार के बारे में जानना चाहते थे, तो सवाल एक भयानक था। आप वहां काम नहीं करना चाहते हैं। –

6

printf निम्नलिखित हस्ताक्षर के साथ एक variadic समारोह है:

int printf(const char *format, ...); 

इसका मतलब यह है कि यह एक है आवश्यक स्ट्रिंग पैरामीटर, 0 या अधिक पैरामीटर (जो विभिन्न प्रकार के हो सकते हैं) के बाद। अंत में, यह एक int देता है जो दर्शाता है कि परिणाम में कितने अक्षर हैं।

वैकल्पिक पैरामीटर की संख्या और प्रकार प्रारूप स्ट्रिंग की सामग्री द्वारा निर्धारित किया जाता है। कुछ अतिरिक्त संदर्भ के लिए

संबंधित मुद्दे