In tal caso comunque sarebbe più chiaro anche dichiarare c come unsigned int.
Amaro C++, il gusto pieno dell'undefined behavior.
Regole del Forum