Heim > Backend-Entwicklung > C++ > Undefiniertes Verhalten in C und C++

Undefiniertes Verhalten in C und C++

WBOY
Freigeben: 2023-08-28 13:09:05
nach vorne
965 Leute haben es durchsucht

Undefiniertes Verhalten in C und C++

Hier sehen wir uns etwas C- und C++-Code an und versuchen, die Ergebnisse zu erraten. Diese Codes erzeugen einige Laufzeitfehler.

1. Der Division-durch-Null-Fehler ist undefiniert.

Beispielcode

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

Ausgabe

Runtime error for divide by zero operation
Nach dem Login kopieren

2. Versucht, eine nicht initialisierte Variable zu verwenden.

Beispielcode

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

3. Versucht, auf Nullzeigerwerte zuzugreifen.
false value (This may differ in different compilers)
Nach dem Login kopieren

4. Versucht, darauf zuzugreifen Nullzeigerwerte.

Beispielcode

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

Ausgabe

Runtime error for accessing null pointer values
Nach dem Login kopieren

5.

Beispielcode

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

Ausgabe

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

6. Versuchen Sie, einige Zeichen in einem String-Literal zu ändern.

Beispielcode

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

Ausgabe

x + 1: -2147483648
circulate to the minimum number of signed int
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonUndefiniertes Verhalten in C und C++. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage