C程序输出有矛盾,一个可以输出,一个不可以

第一个程序:
#include
int main()
{ int x=-112;
printf("%c",x);
return 0;
}
第二个程序
int main()
{ int x=-112,y=65;
printf("%c %c",x,y);
return 0;
}

第一个输出不了,是空白一片但第二个可以输出,输出是?A

输出格式的问题,%c输出字符,65可以转换成ASCII码,所以可以输出,而-112没有对应的ASCII码就不能了,可以改变下输出的格式。

你控制台的编码问题吧。

图片说明

这是在线运行的地址:
https://tool.lu/coderunner/

你可以自己试试

试了一下,确实不可以,但printf("%c\n", x);可以输出