printf("%c",'\41'); 输出的结果是“!” 不解...
printf( "%c ", '\41 '); 那个 '\41 '没看明白,到底是什么东西?
还有 假如我改成printf( "%c ", '41 '); 输出的是1,也搞不懂,看过一些资料也没有......
[解决办法]
printf( "%c ", '\41 '); 那个 '\41 '没看明白,到底是什么东西?
--------------------
'\41 ' 表示8进制数41,转换成10进制是(4*8^1+1*8^0) 33,
‘\41’即 33,33是字符‘!’所对应的ASCII码。所以printf( "%c ", '\41 ')等于printf( "%c ",33),那么最后输出的就是字符 '! ' 。
printf( "%c ", '41 '); 输出的是1,也搞不懂,
-----------------------------------------
首先看 '41 '这种写法,其实这样写是错的,在这里,41已经是一个字符串了,字符串的书写应该是“41”,而‘41’还只是字符的写法,字符只能存放一个数据,系统默认这个数为最后一个,在这就是‘1’,所以输出的时候是‘1’,就好比我们输出这个printf( "%c ", 'abc ');最后的结果是c 。