鱼C论坛

 找回密码
 立即注册
查看: 3798|回复: 8

转义字符

[复制链接]
发表于 2011-3-13 23:41:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>
void main()
{
   int a,b,c;
   a=5;b=6;c=7;
   printf(" ab c\tde\rf\n");
   printf("hijk\tL\bM\n");
}

我实在不明白结果为什么会是这样,尤其是结果中f跑到了首个字母,请高手帮忙

运行结果

运行结果
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-3-14 16:01:25 | 显示全部楼层
回复 1# xiang__jie


    呵呵,其实根据答案也可以猜出来嘛,那个/t的作用正是光标定位到本行的开始处。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-3-14 22:37:32 | 显示全部楼层
还是没有回答上我的问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-3-14 23:09:05 | 显示全部楼层
第一行输出:空格 ab 空格 c tab键的距离(\t) d e 到句首(\r) f 回车(\n)
第二行输出:h i j k tab键的距离(\t) L 回删一个字符,就把L删去了(\b) M 回车(\n)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-3-15 11:21:29 | 显示全部楼层
\n:回车换行   
\r:回车(回到行首,不改变光标的纵坐标)
\t:光标向后移动四个空格(一个制表符)
\b:退格
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-3-17 21:12:36 | 显示全部楼层
谢谢,还是版主和小甲鱼老师出面我才弄懂!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-5-13 00:09:41 | 显示全部楼层
回复 xiang__jie 的帖子

#include<stdio.h>
void main()
{
  int a,b,c;
  a=5;b=6;c=7;
  printf(" ab c\tde\rf\n");
  printf("hijk\tL\bM\n");
}

程序中f因为\r回到句首,请问这个时候光标难道不是在f后,继续\n难道不是把ab往下行逼吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-5-14 15:32:47 | 显示全部楼层
本帖最后由 超越自我 于 2011-5-15 00:06 编辑

回复 xiang__jie 的帖子

\n只是确定了屏幕打印位置,就像\r只是用来定位到行首一样,因为\r后紧接着f,接着打印f,所以f后的数据(你这里是空格)被覆盖,如果没有紧接着f的话,\r只是起到了定位作用,没有把数据往后覆盖。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-5-14 23:01:17 | 显示全部楼层
哦,原来是这样的哦,我还以为是接着在f后面接着数据呢!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-26 12:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表