Ce se întâmplă dacă atribui o valoare negativă unei variabile nesemnate c
M-a interesat să știu ce s-ar întâmpla dacă voi atribui o valoare negativă unei variabile nesemnate.

Codul va arăta cam așa.
Acest lucru nu mi-a dat o eroare de compilare. Când am început programul, nVal a primit o valoare ciudată! S-ar putea să fie atribuită nVal un fel de valoare din 2 cifre ?
Pentru un răspuns oficial - Secțiunea 4.7 [conv.integral]
"Dacă tipul destinației nu este specificat, valoarea rezultată este cel mai mic întreg nesemnat comparabil cu întregul original (modulo 2 ^ n, unde n este numărul de biți folosiți pentru a reprezenta tipul nesemnat). [Notă: în expresie binară, această conversie este conceptuală și nu există nicio modificare în bitmap (dacă nu există trunchiere).