如果你把一个整数赋值给char型,这样是符合语法的,但是不一定正确。
现在计算机普遍用ASCII码来存储字符(比如97是'a'之类的),这种情况下,你char s=97;就相当于char s='a'; 但是,如果这个计算机不实用ASCII码来存储字符,它的97可能是代表别的字符,就达不到你的要求。
但是不论它用什么码来存储字符,你char s='a'; 是一定没问题的
因为char的空间有限,如果你把'FATE'(4个字符)赋给了1个char变量(一个字符),就会发生溢出,只保留最后的'E'