Maison > développement back-end > C++ > Comportement non défini en C et C++

Comportement non défini en C et C++

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Libérer: 2023-08-28 13:09:05
avant
972 Les gens l'ont consulté

Comportement non défini en C et C++

Ici, nous allons voir du code C et C++ et essayer de deviner les résultats. Ces codes généreront des erreurs d'exécution.

1. L'erreur de division par zéro n'est pas définie.

Exemple de code

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

Output

Runtime error for divide by zero operation
Copier après la connexion

2. Essayer d'utiliser une variable non initialisée.

Exemple de code

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

Output

false value (This may differ in different compilers)
Copier après la connexion

3. Essayer d'accéder aux valeurs de pointeur nulles

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

.

Exemple de code

Runtime error for accessing null pointer values
Copier après la connexion

Sortie

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

5 Dépasse la limite des entiers signés.

Sample Code

Runtime error for accessing item out of bound.
Some compiler may return some arbitrary value, not return any error
Copier après la connexion

Output

#include <iostream>
using namespace std;
int main() {
   int x = INT_MAX;
   cout << "x + 1: " << x + 1;
}
Copier après la connexion

6. Essayez de changer certains caractères dans une chaîne littérale.

Exemple de code

x + 1: -2147483648
circulate to the minimum number of signed int
Copier après la connexion

Sortie

#include <iostream>
using namespace std;
int main() {
   char *str = "Hello World";
   str[2] = &#39;x&#39;;
   cout << str;
}
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal