स्ट्रिंग अक्षर को स्ट्रिंग्स के साथ जोड़ना
सी में, ऑपरेटर का उपयोग स्ट्रिंग्स और स्ट्रिंग अक्षर को जोड़ने के लिए किया जा सकता है। हालाँकि, इस कार्यक्षमता की सीमाएँ हैं जो भ्रम पैदा कर सकती हैं।
प्रश्न में, लेखक स्ट्रिंग अक्षर "हैलो", ",वर्ल्ड" और "!" को जोड़ने का प्रयास करता है। दो अलग-अलग तरीकों से. पहला उदाहरण:
const string hello = "Hello";
const string message = hello ",world" "!";
इस स्थिति में, कोड संकलित होता है और सफलतापूर्वक चलता है। ऐसा इसलिए है क्योंकि ऑपरेटर के लिए पहला ऑपरेंड एक स्ट्रिंग ऑब्जेक्ट (हैलो) है, इसलिए कंपाइलर इसे एक स्ट्रिंग और दो स्ट्रिंग अक्षर के संयोजन के रूप में मानता है।
हालाँकि, दूसरा उदाहरण:
const string exclam = "!";
const string message = "Hello" ",world" exclam;
संकलन करने में विफल रहता है। ऐसा इसलिए है क्योंकि सबसे बाईं ओर का ऑपरेटर दो स्ट्रिंग अक्षर को जोड़ने का प्रयास कर रहा है, जिसकी अनुमति नहीं है। कंपाइलर इस कोड की व्याख्या इस प्रकार करता है:
const string message = (("Hello" ",world") exclam);
और पहला संयोजन दो पॉइंटर्स जोड़ने का प्रयास कर रहा है ( स्थिरांक चार * शाब्दिक) एक साथ। ]
const string message = string("Hello") ",world" exclam;
दूसरे को पहले मूल्यांकन करने के लिए मजबूर करने के लिए कोष्ठक का उपयोग करें:
const string message = string("Hello") ",world" exclam;
आप दो स्ट्रिंग अक्षर का उपयोग करके उन्हें संयोजित नहीं कर सकते इसका कारण यह है कि स्ट्रिंग अक्षर को इस प्रकार संग्रहीत किया जाता है वर्णों की सारणी, जिन्हें सीधे एक साथ नहीं जोड़ा जा सकता। जब आप अधिकांश संदर्भों में एक स्ट्रिंग शाब्दिक का उपयोग करते हैं, तो यह इसके प्रारंभिक तत्व के लिए एक सूचक में परिवर्तित हो जाता है, जो ऑपरेटर के लिए वैध ऑपरेंड नहीं है।
const string message = "Hello" (",world" exclam);
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3