Microsoft Visual c++6.0 转义字符\n

发布网友 发布时间:18小时前

我来回答

5个回答

热心网友 时间:2分钟前

\t: 制表符 8个长度
\b: 退格 1个长度
\r: 光标回到行头
\n 换行

现在我们来分析这2中情况
1: 没加\n
(1)\t ********first
(2)\b\b\b ********fi
(3) sh\\\r ********fish (光标在行头)
(4)\'No.1\' 'No.1'**fish(光标在第二个'后面)
(5)结束 'No.1'Press any key to continue (Press any key to continue覆盖了光标后面的)

同理 第二种\n:
(1)\t ********first
(2)\b\b\b ********fi
(3) sh\\\r ********fish (光标在行头)
(4)\'No.1\' 'No.1'**fish(光标在第二个'后面)
(5)\n 'No.1'**fish(光标在第下一行头)
(5)结束 'No.1'**fish'
Press any key to continue

Press any key to continue 只会出现在最后光标的后面,所以你要是想不让这句话挡着,就在最后加上printf("\n");

热心网友 时间:4分钟前

你在网上查点资料,仔细看一下\t\b\r的用法,对照着一步一步往下写

热心网友 时间:8分钟前

楼上正解。顺便加上
#include <conio.h>
getch();

热心网友 时间:2分钟前

你想改成什么样子,要输出什么都没说

热心网友 时间:4分钟前

楼主,我的观点是:无论哪种情况结果都应该是后者。
因为,你的printf的语义描述的问题在于\r回到行首,之后继续打印的字符都应该认为是插入到光标当前位置,因此原来的"\tfish\"是不会被摸掉地。
无论是否增加\n 都不会影响这个输出效果,我的测试环境是xp下vc++ 6.0 sp6

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com