c语中的字符常量与字符问题,帮忙解决

来源:百度知道 编辑:UC知道 时间:2024/06/17 20:33:43
C语中字符窜常量与字符问题 10

main()
{
printf("123\t\0128\b123\ta\bb");
}
这个字符串常量包含多少个字符,是如何计算的?

问题补充:
为什么得到的是
123
123b a
而不是
123
123 b

我这里得到的是
123
123b
我是这样理解的
先执行
123\t \012 (\012应该是回车换行)
8\b (把8退掉了)123\t a\bb(把a退掉剩b)
我这里不知为啥没有空格,按理应该是
123
123 b

1:'1'
2:'2'
3:'3'
4:'\t' --制表符(跳格符)
5:'\012' --八进制数,就是十进制的10
6:'8'
7:'\b' --退格
8:'1'
9:'2'
10:'3'
11:'\t' --制表符(跳格符)
12:'a'
13:'\b' --退格
14:'b'
总共14个

1:'1'
2:'2'
3:'3'
4:'\t' --制表符(跳格符)
5:'\012' --八进制数,就是十进制的10
6:'8'
7:'\b' --退格
8:'1'
9:'2'
10:'3'
11:'\t' --制表符(跳格符)
12:'a'
13:'\b' --退格
14:'b'
因为123是一个整数直接输出,/t是一个跳格符,‘\0128'是一个八进制字符。而在他的后面有一个别\b退格符,正好一个的字符,这样就把字符'