C语言的一个基础问题:printf("%c,'\41'); 为什么输出的是 "!" ,感叹号?我看到8进制,41代表感叹号

那'\41',里面的 '\' 是什么意思?

'\'是转义字符,41是ASCII编码号。

所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。

参考资料:http://baike.baidu.com/view/73.html?wtp=tt

温馨提示:内容为网友见解,仅供参考
第1个回答  2020-05-09
'\41'是八进制'\041'的一种写法,转换成10进制是(4*8^1+1*8^0) 33,
‘\41’即 33,33是字符‘!’所对应的ASCII码。所以printf( "%c ", '\41 ')等于printf( "%c ",33),那么最后输出的就是字符 '! ' 。
第2个回答  2011-04-05
printf("%c,'\41');等价于printf("%c,33);也等价于printf("%c,'!');
\表示转义字符,让后面的字符有另外一个意思。
第3个回答  2011-04-05
ascII码
相似回答