楼上的意思是不是 c='\n'(n为一个数);
然后输出c这个字符的时候,n是按8进制转换的
c = 'n';(n为一个字符)
而printf ("%d", c);则是按10进制
----------------解决方案--------------------------------------------------------
看你说的真是有些乱了
%d对应的变量不管是什么类型变量输出的时候都是按照十进制输出
也就是说和输出类型有关 和变量无关
----------------解决方案--------------------------------------------------------
恩,这个我明白了
那第一种情况呢?
c = '\23'
printf ("%c", c);
是不是把23转换成10进制的19,然后输出19对应的ASCII码
----------------解决方案--------------------------------------------------------
书上说“\ddd 为 1~3位八进制数所代表的字符”就是说只要是char型的c=‘\ddd’都是八进制的形式
。
----------------解决方案--------------------------------------------------------