关于控制字符的有关问题

关于控制字符的问题C/C++ codechar str1[] {Hello\rWorld!}printf(%s, str1)结果: C/C++ codeWorl

关于控制字符的问题

C/C++ code
char str1[] = {"Hello\rWorld!"};printf("%s", str1);


结果:
C/C++ code
World!




C/C++ code
char str2[] = {"Hello\nWorld!"};printf("%s", str2);


结果:
C/C++ code
HelloWorld!



不是很明白,尤其是对第一个,为什么只打印
C/C++ code
World!


虚心求教!

[解决办法]
打印到\r的时候插入点被移动到开头,紧接着打印的World!则将前面的Hello覆盖了。

第二段代码使用的是\n,换行打印,就不再发生覆盖了。
[解决办法]
\r是回车。。。 回车的意思是把车开到本行头部。
\n是换行。。。 换行的意思是把车开到下一行同一列。
[解决办法]
++
探讨

打印到\r的时候插入点被移动到开头,紧接着打印的World!则将前面的Hello覆盖了。

第二段代码使用的是\n,换行打印,就不再发生覆盖了。

[解决办法]
在linux中
char str1[] = {"Hello\rWorld!"};
printf("%s", str1);
结果:World!


char str2[] = {"Hello\nWorld!"};
printf("%s", str2);
结果:
Hello
World!

楼主,这样是否更容易理解“换行”与“回车”的概念呢!





[解决办法]
补充下,World!前后5个空格