ascii 标准的定义 /r 是回车 /n 是换行
不是编译器的问题,而是字符串查看器的问题
同样的不用sprintf,用fprintf输出后,用notepad看,用ultraedit看效果不同的
就看查看器如何解释它了
“回车和换行的基本定义是来自于早期的打字机的
回车命令是回到一行的最开始
换行命令是打印纸滚动一行”
早期在dos下面,用汇编语言输出字符串到控制台(屏幕)的时候,还是遵照了这个规范的
但是进入图形界面时代,大多数都用/n一个命令替代原来的/r/n了
而把/r作为其他的意义了,不再作为控制命令了
“/n可以理解成,先回车再换行”
“windows的文本文件以'/r/n'代表换行(但是平时的编程环境下好像/n也可以表示换行),而UNIX下'/n'代表换行,Macintosh是用‘/r’代表换行”。
#include<stdio.h>
#include<stdlib.h>
int main()
{
printf("helloxieweidong");
printf("/r");
printf("world");
}
代码的输出:worldxieweidong.
在/r以后,输出又重新返回到一行的开始,覆盖了前面的5个字符。