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

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

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

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

उदाहरण कोड

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

आउटपुट

Runtime error for divide by zero operation

2. गैर-आरंभिक चर का उपयोग करने की कोशिश कर रहा है।

उदाहरण कोड

#include <iostream>
using namespace std;
int main() {
   bool x;
   if(x == true)
      cout << "true value";
   else
      cout << "false value";
}

आउटपुट

false value (This may differ in different compilers)

3. शून्य सूचक मानों तक पहुंचने का प्रयास कर रहा है।

उदाहरण कोड

#include <iostream>
using namespace std;
int main() {
   int *ptr = NULL;
   cout << "The pointer value is: " << *ptr;
}

आउटपुट

Runtime error for accessing null pointer values

4. शून्य सूचक मानों तक पहुँचने की कोशिश कर रहा है।

उदाहरण कोड

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

आउटपुट

Runtime error for accessing item out of bound.
Some compiler may return some arbitrary value, not return any error

5. हस्ताक्षरित इंट की सीमा से आगे जा रहे हैं।

उदाहरण कोड

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

आउटपुट

x + 1: -2147483648
circulate to the minimum number of signed int

6. स्ट्रिंग अक्षर में कुछ वर्ण बदलने की कोशिश कर रहा है।

उदाहरण कोड

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

आउटपुट

Runtime error because we are trying to change the value of some constant variables.

  1. सी / सी ++ में बहुआयामी सरणी

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

  1. C++ में वृत्त और आयत ओवरलैपिंग

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

  1. डोमिनोज़ और ट्रोमिनो टाइलिंग सी++ . में

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