Je faisais un exercice pour une classe et j'ai décidé de voir ce qui se passerait si je tapais char
alors que le code attendait un int
. Je mets dans la lettre 'g'
juste pour voir ce qui se passerait ... il sort -858993460
et je ne sais pas pourquoi.Pourquoi la lecture de char 'g' dans un int produit le numéro -858993460 dans ce code?
Voici le code:
#include <iostream>
#include <iomanip>
#include <string>
using namespace std;
int main()
{
int test;
cout << "Please enter a even integer or a odd integer. " << endl;
cin >> test;
cout << test; //here is where i got the -858993460
if (test % 2)
{cout << "TRIANGLE" << endl;}
else
{cout << "SQUARE" << endl;}
return 0;
}
Alors, où est-ce que -858993460
vient?
-858993460 est 0xcccccccc en hexadécimal. Cela signifie que 'int' n'est pas initialisé en mode de débogage Visual Studio. – Marco167