当我用CodeBlocks来输出353的cher时为什么出现的是a

关于AscII表问题
#include
int main()
{
printf("%c\n",353);
return 0;
}
当用codeblocks输出大于127的数为什么会这样为什么?

353超过了256,溢出了,溢出后剩下353-256=97
而97是a的ascii,所以输出a

0x00000161,输出char时按高位61处理,对应asii码是a