特殊的转义字符 | 您所在的位置:网站首页 › matlab转义符 › 特殊的转义字符 |
引入
我们在写 C 语言题目时,经常会碰见类似于 数字 分隔符 数字 分隔符 数字 分隔符 这样的输出。比如下面这段代码: 1=1 1+2=3 1+2+3=6 1+2+3+4=10如果用循环的话,这个加号是个大问题。直接用 printf("%d+"),最后面会多一个加号;用 printf("+%d") 则最前面会多一个加号。 想要解决,则必须判断当前输出的是否为第一个或者最后一个数字,然后做特殊处理。 新思路有人就发现了,转义字符里有一个\b,这是个退格字符,能不能用它把多余的加号给删了呢? 那就试试呗,先输出个从 1 加到 5 试试 #include #include int main(void) { int sum = 0; for (int i = 1; i int sum = 0; for (int i = 1; i printf("123\n"); printf("123\b\n"); printf("123\b4\n"); return 0; }运行结果 然而,我们把它编译,然后把程序的输出结果重定向到文件里,得到的结果是这样的: 123 123 1234这段输出在不同的地方显示的内容可能不相同 Windows 记事本:一个框 Visual Studio 2015:啥也没有 利用这个退格字符,我们可以做一个进度条出来 第一种: #include #include #include int main() { int index = 0; char ch[] = {'|', '\\', '-', '/'}; while (1) { putchar(ch[index]); index++; if (index >= 4) index = 0; Sleep(200); // Sleep(200) 的作用是延时 200 毫秒(0.2 秒)再继续执行下面的代码 putchar('\b'); } return 0; }演示 第二种: #include #include #include int main() { //假设要做一个耗时较长的操作 //为了更好的用户体验,我们需要一个进度条 double progress = 0.1; //当前进度 int length = 15; //进度条字符长度 for (progress = 0.1; progress |
CopyRight 2018-2019 实验室设备网 版权所有 |