读书人

字符输出解决办法

发布时间: 2012-08-10 12:19:33 作者: rapoo

字符输出
1.为什么ch1输出的不是ASCII为8的数,而ch2是?

C/C++ code
#include "stdio.h"void main(){    char ch1='\08',ch2='\101';    printf("%c%c",ch1,ch2);}


[解决办法]
你的格式有问题,\xxx,‘\’后面的是八进制数,怎么可以写八呢!
你的ch1的实际内容就是‘\0’和'8',ascll中\0为null,所以你ch1=‘8’
所以,你输出8,如果08换09,就输出9,如果想输出ascll码中8对应的,你就改\10
[解决办法]
\是转义字符 \0开头的八进制数字表示 以这个八进制数为编号的ascii字符,八进制里面没有8这个数字,你想要达到目标,应该改成:ch1 = '\010'
[解决办法]
八进制数是0-7,没有8.
[解决办法]
没错,就是八进制的问题。

读书人网 >C语言

热点推荐