有个C语言的问题,switch语句中switch(c-'2')和switch(c-2),c为输入的数,这两个有什么区别?测试的答案不

日期:2011-02-27 15:46:03 人气:1

有个C语言的问题,switch语句中switch(c-'2')和switch(c-2),c为输入的数,这两个有什么区别?测试的答案不

不带'',表示整数2,如果带'',则是字符'2'==0x32==50(参考ascii表) 而输入2时,getchar()得到的c值是字符'2',所以, c-'2'==0 c-2==0x30==48 如果switch(c-'2'),则c-'2'==0, 所以case 0:成立,因为其后没有break, 顺序执行case1:c+4=='6',输出6 顺序执行cas
    A+
热门评论