C语言同时有多个转义字符
发布网友
发布时间:2022-11-11 11:27
我来回答
共4个回答
热心网友
时间:2024-12-02 22:59
过程是这样的。
首先输出了 12345
\t是制表符,在有的环境下,\t的输出是4个字符宽度,一般的控制台都是8个字符宽度。但是这个宽度并不是说它本身是8个字符那么宽,而是向8个字符宽对齐。我用“*”代表一个字符宽,此时的输出结果为
12345***6
接着,输出了\r,这是一个回车符,即将光标移动到行首。我用“|”代表光标,此时
|12345***6
控制台的字符输出是覆盖而非插入的,所以,后面的78在输出时会覆盖掉12,变成
78|345***6
紧接着是一个\b,成为退格,类似于在输入的时候按下了左箭头。此时输出变为
7|8345***6
然后是后面的90,输出变为
790|45***6
最后末尾的\n使光标移动到下一行,输出变为
79045***6
|
过程就是这样。
热心网友
时间:2024-12-02 23:00
#include<stdio.h>
#include<windows.h>
main()
{
char *s="12345\t6\r78\b90\n";
while(*s)
{
putchar(*s++);
Sleep(5000);
}
}
仔细看下光标位置变化追问不过你的这个程序有问题啊,出现错误了
热心网友
时间:2024-12-02 23:00
#include<stdio.h>
#include "string.h"
main()
{
char str[]="12345\t6\r78\b90";
int num;
num=strlen(str);
// printf("12345\t6\r78\b90\n");
printf("num=%d\n",num); //运行结果为:num=13
}
//有三个转义字符
// \t 是一个,
// \r 是一个
// \b 是一个
热心网友
时间:2024-12-02 23:01
你运行一下看看啊,
"79045 6"
双引号里的是运行结果.追问我运行了,但是我想知道是怎么算的
追答\t 水平制表(HT) (跳到下一个TAB位置)
所以出现几个空格
\r 回车(CR) ,将当前位置移到本行开头
所以前面的内容没有了
\b 退格(BS) ,将当前位置移到前一列
所以8被\b替换了 于是8不见了
然后\n呢 换行喽
http://ke.baidu.com/view/73.htm
具体看这儿..