书里一个转义字符应用看不懂啊

#include<stdio.h>main(){printf("12\t34\r56\n78\b910");printf("\n\052,\x26");}输出后为啥是56... #include<stdio.h>
main()
{
printf("12\t34\r56\n7 8\b9 10");
printf("\n\052,\x26");
}
输出后为啥是
56 34
7 9 10
展开
 我来答
jimmy14888888
推荐于2016-06-15 · TA获得超过1340个赞
知道小有建树答主
回答量:550
采纳率:80%
帮助的人:373万
展开全部

分开看会容易解释点。

注意!下面用^代表光标:

#include<stdio.h>
void main()
{
printf("12\t34");           //1
printf("\r56");             //2
printf("\n7     8");        //3
printf("\b9 10");           //4
printf("\n\052,\x26");      //5
}
  • 首先执行第一句printf("12\t34");

然后控制台会输出:

12      34
          ^光标指向这里
  • 然后执行第二句printf("\r56");

由于\r是回到行首

12      34
^光标指向这里

再输出56,把12覆盖了

因此控制台显示:

56      34
  ^光标这里
  • 然后执行第三句printf("\n7     8");
    由于\n是换行

光标指向新行并输出:

56      34
7     8
       ^光标指向这里
  • 然后执行第四句printf("\b9 10");

由于\b是退格符,光标后退一格

56      34
7     8
      ^光标指向这里,对准了8

输出9 10覆盖了8:

56      34
7     9 10
          ^光标指向这里
  • 然后执行第五句:printf("\n\052,\x26");

换行并输出八进制52,和十六进制26,分别对应*&,所以输出*,&

56      34
7     9 10
*,&

此时输出完毕。

望采纳谢谢。

追问
\t是到下一制表位置 啥叫下一制表位置
追答
\t  它的作用是“跳格”,即到下一个“制表位置”,在系统中一个“制表区”占8列。
就是用它会跳到下一个对齐8格的地方。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式