2 hu343502657 hu343502657 于 2013.06.21 21:30 提问

C语言转义字符的使用问题

#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 出来换行还有其他意思吗?

2个回答

u012421456
u012421456   Rxr 2015.01.02 09:21

据我所知是没有

我的两个程序的运行结果
fab c

fab c ge

在ubuntu下gcc4.6.3

u014306011
u014306011   2015.07.27 18:49

这个的问题出在”\r“身上,\r是回车的意思,而printf(" ab c\tde\rf\tg\n");这样的话就是\r前面的输出都直接会被后面的覆盖掉,
你直接将\r换成\n你就知道了,输出是这样的:
ab c de
f g
而且在我这边加不加\n,(最后要是按你那个代码来运行的话)最后都是fge的。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!