Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

सी/सी++ में त्रुटियां

C या C++ में, हम विभिन्न प्रकार की त्रुटियों का सामना करते हैं। इन त्रुटियों को पाँच विभिन्न प्रकारों में वर्गीकृत किया जा सकता है। ये नीचे की तरह हैं -

  • सिंटैक्स त्रुटि
  • रन-टाइम त्रुटि
  • लिंकर त्रुटि
  • तार्किक त्रुटि
  • अर्थपूर्ण त्रुटि

आइए इन त्रुटियों को एक-एक करके देखें -

सिंटैक्स त्रुटि

इस प्रकार की त्रुटियाँ तब होती हैं, जब यह C++ लेखन तकनीकों या वाक्य-विन्यास के नियम का उल्लंघन करती हैं। इस प्रकार की त्रुटियां आमतौर पर संकलन से पहले संकलक द्वारा इंगित की जाती हैं। कभी-कभी इन्हें संकलन समय त्रुटि के रूप में जाना जाता है।

इस उदाहरण में, हम देखेंगे कि यदि हम एक पंक्ति के बाद अर्धविराम नहीं लगाते हैं तो सिंटैक्स त्रुटि कैसे प्राप्त करें।

उदाहरण

#include<stdio.h>
main() {
   printf("Hello World")
}

आउटपुट

Error] expected ';' before '}' token

रनटाइम त्रुटि

इस तरह की त्रुटियां तब होती हैं, जब प्रोग्राम निष्पादित हो रहा होता है। चूंकि यह संकलन त्रुटि नहीं है, इसलिए संकलन सफलतापूर्वक किया जाएगा। यदि हम किसी संख्या को 0 से विभाजित करने का प्रयास करते हैं तो हम इस त्रुटि की जांच कर सकते हैं।

उदाहरण

#include<stdio.h>
main() {
   int x = 52;
   int y = 0;
   printf("Div : %f", x/y);
}

आउटपुट

Program crashes during runtime.

लिंकर त्रुटि

इस तरह की त्रुटियां तब होती हैं, जब प्रोग्राम को सफलतापूर्वक संकलित किया जाता है, और विभिन्न ऑब्जेक्ट फ़ाइल को मुख्य ऑब्जेक्ट फ़ाइल से लिंक करने का प्रयास किया जाता है। जब यह त्रुटि होती है, तो निष्पादन योग्य उत्पन्न नहीं होता है, उदाहरण के लिए कुछ गलत फ़ंक्शन प्रोटोटाइप, गलत हेडर फ़ाइल आदि। यदि मुख्य () को मुख्य () के रूप में लिखा जाता है, तो यह लिंक की गई त्रुटि उत्पन्न करेगा।

उदाहरण

#include<stdio.h>
main() {
   int x = 52;
   int y = 0;
   printf("Div : %f", x/y);
}

आउटपुट

C:\crossdev\src\mingw-w64-v3-git\mingw-w64-crt\crt\crt0_c.cundefined reference to `WinMain'

तार्किक गड़बड़ी

कभी-कभी, हमें वांछित आउटपुट नहीं मिल सकता है। यदि वाक्य रचना और अन्य चीजें सही हैं, तो भी, हमें कुछ तार्किक मुद्दों के कारण सही आउटपुट नहीं मिल सकता है। इन्हें तार्किक त्रुटि कहा जाता है। कभी-कभी, हम लूप के बाद अर्धविराम लगाते हैं, जो वाक्य-रचना की दृष्टि से सही है, लेकिन एक खाली लूप बना देगा। उस स्थिति में, यह वांछित आउटपुट दिखाएगा।

उदाहरण

#include<stdio.h>
main() {
   int i;
   for(i = 0; i<5; i++); {
      printf("Hello World");
   }
}

आउटपुट

Here we want the line will be printed five times. But only one time it will be printed for the block of code.

अर्थपूर्ण त्रुटि

इस प्रकार की त्रुटि तब होती है जब यह वाक्यात्मक रूप से सही होती है लेकिन इसका कोई अर्थ नहीं होता है। यह व्याकरण संबंधी गलतियों की तरह है। यदि असाइनमेंट ऑपरेटर के बाईं ओर कुछ एक्सप्रेशन दिया गया है, तो यह अर्थ संबंधी त्रुटि उत्पन्न कर सकता है।

उदाहरण

#include<stdio.h>

main() {
   int x, y, z;
   x = 10;
   y = 20;
   x + y = z;
}

आउटपुट

[Error] lvalue required as left operand of assignment

  1. putwchar () सी/सी ++ में समारोह

    इस लेख में हम C++ STL में putwchar() फंक्शन की कार्यप्रणाली, सिंटैक्स और उदाहरणों पर चर्चा करेंगे। पुटवचर () क्या है? putwchar() फ़ंक्शन C++ STL में एक इनबिल्ट फ़ंक्शन है, जिसे हेडर फ़ाइल में परिभाषित किया गया है। putwchar () फ़ंक्शन का उपयोग मानक आउटपुट डिवाइस पर विस्तृत वर्ण लिखने के लिए किया जा

  1. memcpy() सी/सी++ में

    इस लेख में हम C++ STL में memcpy() फंक्शन की कार्यप्रणाली, सिंटैक्स और उदाहरणों पर चर्चा करेंगे। memcpy() क्या है? memcpy() फ़ंक्शन C++ STL में एक इनबिल्ट फ़ंक्शन है, जिसे हेडर फ़ाइल में परिभाषित किया गया है। memcpy () फ़ंक्शन का उपयोग मेमोरी के ब्लॉक को कॉपी करने के लिए किया जाता है। इस फ़ंक्शन क

  1. सी/सी ++ में एए पेड़?

    कंप्यूटर विज्ञान में AA ट्री को संतुलित ट्री के रूप में परिभाषित किया गया है, जो ऑर्डर किए गए डेटा को कुशलतापूर्वक संग्रहीत करने और पुनर्प्राप्त करने के लिए लागू किया गया है। एए पेड़ों को लाल-काले पेड़ की विविधता के रूप में माना जाता है, बाइनरी सर्च ट्री का एक रूप जो प्रविष्टियों के कुशल जोड़ और विल