Je possède ce morceau de code:C++ - Attribution int char puis attribuer ombles à un autre int
#include <stdio.h>
#include <iostream>
int main(int n, char** args)
{
int i = 140;
char c = i;
int j = c;
printf("%d", j);
system("pause");
}
Sortie:
-116
Si je comprends bien, char c = i
affecterait le caractère qui a le code ASCII 140 à c
, mais je me demande ce qui s'est passé lors de l'attribution int j = c;
après cela et où -116
la valeur vient?
si je change char c = i;
en unsigned char c = i;
alors la sortie est 140
. Y at-il de toute façon pour obtenir la valeur de j
égale à 140
si je n'utilise pas unsigned
ici? (Supposé que i> = 0 et i < = 255)