标题:C语言中转义字符\n的使用问题
只看楼主
hushiqian
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-6-21
结帖率:0
已结贴  问题点数:20 回复次数:6 
C语言中转义字符\n的使用问题
#include "stdio.h"
 void main()
 {
 printf(" ab c\tde\rf\tg");
 }

#include "stdio.h"
 void main()
 {
 printf(" ab c\tde\rf\tg\n");
 }
在VC++6.0中为什么第二个程序多加了一个\n输出的结果就由 f g

变成f ge ??
转义字符\n 出来换行还有其他意思吗?
搜索更多相关主题的帖子: include C语言 
2013-06-21 22:11
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:7 
和 \n 无关吧

DO IT YOURSELF !
2013-06-21 22:19
hushiqian
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-6-21
得分:0 
回复 2楼 wp231957
那是什么原因呢 ? 我用VC测试的时候出现上面两个不同的结果。
2013-06-21 22:29
笑傲
Rank: 8Rank: 8
来 自:迪拜
等 级:蝙蝠侠
威 望:5
帖 子:223
专家分:856
注 册:2013-3-9
得分:7 
主要是\r返回行首,第一个程序中没有\n,所以e被press any key to continue覆盖了
而第二个程序中有\n,所以press any key to continue被显示到了下一行,所以没有将e覆盖;
只是我的愚见,欢迎指正,\r我还没用过,不起眼,以前就都没注意

练就一身本领,只为笑傲江湖!
2013-06-21 22:34
浮云之冰雪
Rank: 2
等 级:论坛游民
帖 子:74
专家分:89
注 册:2013-5-11
得分:7 
此事与\n无关,祸首乃\r.

c语言编程时(windows系统)\r 就是return 回到本行行首这就会把这一行以前的输出覆盖掉,如:
int main()
{
cout << "hahaha" << "\r" << "xixi" ;
}
最后只显示 xixi 而 hahaha 被覆盖了
\n 是回车+换行 把光标 先移到 行首 然后换到下一行 也就是 下一行的行首拉
int main() {
cout << "hahaha" << "\n" << "xixi" ;
}
则 显示
hahaha
xixi

潇洒不可少!
2013-06-22 09:00
hushiqian
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-6-21
得分:0 
回复 4楼 笑傲
谢谢、
2013-06-22 12:16
hushiqian
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-6-21
得分:0 
回复 5楼 浮云之冰雪
恩恩 、懂了 谢谢大神
2013-06-22 12:17



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-415774-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.559649 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved