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

C और C++ में अपरिभाषित व्यवहार

यहां हम कुछ C और C++ कोड देखेंगे और परिणामों का अनुमान लगाने का प्रयास करेंगे। ये कोड कुछ रनटाइम त्रुटियां उत्पन्न करेंगे।

1. शून्य से विभाजन त्रुटि अपरिभाषित है।

उदाहरण कोड

#include <iostream>
using namespace std;
int main() {
    int x = 10, y = 0;
    int z = x / y;
    cout << "Done" << endl;
}

आउटपुट

शून्य से विभाजन ऑपरेशन के लिए रनटाइम त्रुटि

2. अनारंभिक वेरिएबल का उपयोग करने का प्रयास।

उदाहरण कोड

#include <iostream>
using namespace std;
int main() {
    bool x;
    if(x == true)
        cout << "सत्य मान";
    else
        cout << "असत्य मान";
}

आउटपुट

असत्य मान (यह विभिन्न कंपाइलर्स में भिन्न हो सकता है)

3. NULL पॉइंटर मानों तक पहुंचने का प्रयास।

उदाहरण कोड

#include <iostream>
using namespace std;
int main() {
    int *ptr = NULL;
    cout << "पॉइंटर का मान है: " << *ptr;
}

आउटपुट

NULL पॉइंटर मानों तक पहुंचने के लिए रनटाइम त्रुटि

4. सरणी सीमा से बाहर आइटम तक पहुंचने का प्रयास।

उदाहरण कोड

#include <iostream>
using namespace std;
int main() {
    int array[10];
    for(int i = 0; i <= 10; i++) {
        cout << array[i] << endl;
    }
}

आउटपुट

सीमा से बाहर आइटम तक पहुंचने के लिए रनटाइम त्रुटि। कुछ कंपाइलर मनमाना मान लौटा सकते हैं, कोई त्रुटि नहीं

5. हस्ताक्षरित int की सीमा से आगे जाना।

उदाहरण कोड

#include <iostream>
using namespace std;
int main() {
    int x = INT_MAX;
    cout << "x + 1: " << x + 1;
}

आउटपुट

x + 1: -2147483648 हस्ताक्षरित int की न्यूनतम संख्या पर परिचालित

6. स्ट्रिंग लिटरल में कुछ वर्ण बदलने का प्रयास।

उदाहरण कोड

#include <iostream>
using namespace std;
int main() {
    char *str = "Hello World";
    str[2] = 'x';
    cout << str;
}

आउटपुट

कुछ स्थिर वेरिएबल्स का मान बदलने का प्रयास करने के कारण रनटाइम त्रुटि
  1. C/C++ में मल्टीडायमेंशनल ऐरे C/C++ में मल्टीडायमेंशनल ऐरे

    C/C++ में, मल्टीडायमेंशनल ऐरे को सरल शब्दों में ऐरे के ऐरे के रूप में परिभाषित किया जाता है। मल्टीडायमेंशनल ऐरे में डेटा टेबुलर फॉर्म में स्टोर होता है (रो मेजर ऑर्डर में)। निम्नलिखित डायग्राम 3 x 3 x 3 डायमेंशन वाले मल्टीडायमेंशनल ऐरे के लिए मेमोरी आवंटन रणनीति दिखाता है। एल्गोरिदम Begin ऐर

  1. C++ में वृत्त और आयत के ओवरलैप की जांच C++ में वृत्त और आयत के ओवरलैप की जांच

    मान लीजिए हमारे पास एक वृत्त है जिसे (त्रिज्या, xc, yc) से दर्शाया जाता है, जहां (xc, yc) केंद्र के निर्देशांक हैं। हमारे पास एक अक्ष-संरेखित आयत भी है जिसे (x1, y1, x2, y2) से दर्शाया जाता है, जहां (x1, y1) निचले-बाएं कोने के निर्देशांक हैं और (x2, y2) ऊपरी-दाएं कोने के निर्देशांक हैं। हमें जांचना

  1. C++ में डोमिनो और ट्रोमिनो टाइलिंग C++ में डोमिनो और ट्रोमिनो टाइलिंग

    मान लीजिए हमारे पास दो प्रकार के आकार हैं, डोमिनो और ट्रोमिनो। उन्हें नीचे दिखाए अनुसार घुमाया जा सकता है:एक टाइलिंग में, प्रत्येक वर्ग को एक टाइल द्वारा कवर किया जाना चाहिए। यहां दो टाइलिंग तभी अलग हैं जब बोर्ड पर दो 4-दिशात्मक आसन्न सेल हों जैसे कि उन टाइलिंग में से केवल एक में दोनों वर्ग एक टाइल