>>35
scanfの%cはcharへのポインタが渡されることを前提にしている。
また自動変数を初期化しないと、内容は不定(ごみが入っている)。

だから、int x = 0;のように初期化してやるか、
printf("%d\n", x & 0xff);のように要らないところをマスクしてやれば、
おそらくうまくいく。(ただし規格に照らし合わせて問題ないかはわからない)