注册 登录
编程论坛 C语言论坛

为什么‘10’与‘0’相等?

xiaoace 发布于 2022-11-13 16:49, 858 次点击
char a,b;
 int i,j,k;
        a='10';
        b='0';
        i='a'>='0';//i=1
        j='a'<='10';//j=0
        k=(a==b);//k=1

     为什么 ‘10’与‘0’的ASC码相等,但在与字符比较的时候又出现不同的结果?  
1 回复
#2
rjsp2022-11-14 01:05
a='10';
你的编译器不报错吗?

为什么 ‘10’与‘0’的ASC码相等
从你的代码上得不出它俩相等的结论。
只能得出  (char)‘10’与(char)‘0’相等 的结论
当然,如果你查一下标准,就会知道这是“实现定义”,只能得出在你这个编译器上是这个现象,不能保证别的编译器也这样。
1