>>261
char Val[2]="";
じゃないの?
これにsprintfでゼロフィル2桁数字文字列入れたら3文字目の末尾ゼロが溢れて変なところに書かれるのでは?
char Val [4]="";
くらいでどう?

こういうのは大きめにしたほうがいいと思う。sprintfも想定外数値入ったら二文字以上出力しちゃうだろうし。