c语言 写出下列输出结果?

来源:百度知道 编辑:UC知道 时间:2024/05/22 08:01:56
printf("tfirst\b\b\bsh\\\r\'NO.1\’”);
最好写出计算过程,如\\\r\'NO.1'”会输出什么?

printf("tfirst\b\b\bsh\\\r\'NO.1\'");
-----我想你写错了吧,应该是如下:
printf("\tfirst\b\b\bsh\\\r\'NO.1\'");
应该输出:'NO.1'(在VC6上已经测试过)
(1),\t --转义,是个制表符,横向跳10个空格。
(2),fisrt---原样输出,在10个空格后。
(3),\b----转义,是个后退一格。此时还有9空格。
(4),\b---
(5),\b---同上,只是还有7个空格。
(6),sh---原样输出,
(7),\\----转义,输出 一个\
(8),\r----转义,回车(注意只是回车,并没有换行。),所以会覆盖以前的内容。
(9),\'---转义,输出‘(注意在最开始位置了。)
(10),NO.1--原样输出。
(11),\'---转义,输出‘(共6个字符了,就是-----'NO.1'------)。

首先tfirst应该不用说了吧

\b 是转义序列 表示:退格
3个\b 则退回到 r(原本是在t后的那一个的,现在光标再r上)

然后是sh,这时候sh覆盖 st 所以 现在是 tfirsh
\\也是转义序列里的。 输出一个\.
然后是\r同样是转义序列 表示回车。 现在光标到了下一行起始位置。
/'也是转义序列 输出 '
然后输出 NO.1
然后又是一个\' , 输出 '
所以应该是
tfish\
'NO.1'

注:我在