a = getchar()
scanf("%c",&a);
के बराबर है?क्या getchar() स्कैनफ ("% c") और putchar() के बराबर printf ("% c") के बराबर है?
putchar(a)
printf("%c",a);
के समतुल्य a
एक char
चर है?
a = getchar()
scanf("%c",&a);
के बराबर है?क्या getchar() स्कैनफ ("% c") और putchar() के बराबर printf ("% c") के बराबर है?
putchar(a)
printf("%c",a);
के समतुल्य a
एक char
चर है?
आम तौर पर हाँ बोलते हुए वे वही हैं।
लेकिन वे कुछ नाटकीय तरीके से नहीं हैं। फ़ंक्शन getchar
int
वापस करने के लिए टाइप किया गया है और char
नहीं है। ऐसा किया जाता है ताकि getchar
दोनों संभव हो सके char
मूल्य और अतिरिक्त त्रुटि कोड।
इसलिए जब निम्न खुशी से सबसे compilers में संकलित आप अनिवार्य रूप से दूर छोटा कर रहे हैं एक त्रुटि संदेश
char c = getchar();
समारोह scanf
, हालांकि, आप सीधे एक char
प्रकार का उपयोग करने की अनुमति देता है और में त्रुटि कोड से अलग प्रतिलाभ की मात्रा।
नहीं त्रुटि संदेश मिलते हैं, " केवल "ईओएफ। लेकिन अन्यथा, यह सही है। यह भी कहा जाना चाहिए कि getchar() scanf() से कहीं अधिक कुशल है, क्योंकि लाइब्रेरी को प्रारूप स्ट्रिंग को पार्स करने की आवश्यकता नहीं है (और लिंकर को स्कैनफ़ के कोड के बड़े ब्लॉक में लिंक नहीं करना है ())। – DevSolar
वे वही काम करते हैं। हालांकि, अगर आपको पता है कि आप केवल वर्ण कर रहे हैं तो getchar
और putchar
अधिक कुशल होंगे, क्योंकि printf
और scanf
वेरिएंट को आपके अनुरोध को संसाधित करने के तरीके को निर्धारित करने के लिए प्रत्येक बार स्ट्रिंग को पार्स करना होगा। इसके अलावा, उन्हें निम्न स्तर की लाइब्रेरी में बुलाया जा सकता है जिसका अर्थ है कि आपको printf
/scanf
से लिंक नहीं होना चाहिए, यदि उन्हें कहीं और आवश्यकता नहीं है।
इसके अलावा (, के रूप में बहुवचन) http://stackoverflow.com/questions/2507082/getc-vs-getchar-vs-scanf-for-reading-a-character-from-stdin – Lazer