89不是对应Y吗?为啥我多打了一个8 反而变成了y 而不是报错啊??
putchar(66); putchar(79); putchar(889); putchar(10);

89不是对应Y吗?为啥我多打了一个8 反而变成了y 而不是报错啊??
putchar(66); putchar(79); putchar(889); putchar(10);

1、putchar表示标准输出一个字节长度的无符号字符
2、一个字节长度最大0xFF,如果你赋值超过这个范围,那么高位会被截断。
3、十进制889二进制为0000001101111001,高位截断只剩下01111001,也就是0x79,十进制121,ASCII代表小写y
如果解决您的问题,请点赞采纳,谢谢!