在c ++中比较时为什么'1'和(char)1不相等?

ret*_*n 0 0 casting char

我的主要目标是将int转换为char类型.我使用(char)1来键入强制转换,但由于以下结果,它似乎不起作用:

当我在以下代码中比较cpp中的'1'和(char)1时

if('1'==(char)1){return 1; }

但是,由于变量类型不同,比较似乎无效,或者它们实际上并不相同.我一直以为将interger 1转换为character是(char)1.任何人都可以告诉我如何将整数1转换为char'1'?

ibi*_*iza 6

根据http://www.asciitable.com/,'1 '等于(char)49

(char)1等于SOH (start of heading)不可打印的字符.