#include<stdio.h>

main()
{
char a=23;
char c=~a;

printf("%d\n",c); /* 232 */

printf("%d",~(unsigned char)23); /* -24 */
/* キャストしているのに何故232と出力されないいんでしょうか? */
}