为什么‘\87’不是合法的字符常量,而‘\24’却是?
1个回答
展开全部
是我在做c++练习的时候碰到的,题目问‘\87’是否是合法的常量。我答是啊,这不是转义字符引导符后加数字嘛,默认是数字为八进制,数字可以是一位两位三位,若采用十六进制,则需在数字后面家X或x,此时数字可以是一位或多位。例如,‘\101’和‘\x41’都是表示字符‘A’。若为‘\0’则表示ASCII码值为0的字符。 因此,没有理由说‘\87'不是合法的字符常量啊?! 而且后面还有一题,求下面算数表达式的值: ‘a’+x%3+5\2-‘\24' 设x=8 这很简单:‘a’是97,x%3 是2,5\2也是2,‘\24’是20(八进制的24 转化为十进制:2*8+4=20),答案是81,这个答案是正确的。 现在问题就是: 其实这个答案也很简单,只是当时我脑子没反应过来:转义字符引导符后加数字,默认是数字为八进制,数字可以是一位、两位、三位,问题出现在这个‘\87'的8上,对!你想平常的十进制数中,你见到过10吗? 呵呵,这只是脑子一转的问题,可当时就是没转过来,不过最后还是自己想出来了,因此把它写在这里,给那些遇到过同样问题的人一个参考。 注:文章系原创,转载请注明链接,谢谢!!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询