我是C编程语言的初学者,最近我研究了转义序列。
\n means newline
\b means backspace
\r means carriage-return当我把这些应用在下面的程序中时,我得到的输出是hai,谁能解释一下,怎么做?
main()
{
printf("\nab");
printf("\bsi");
printf("\rha");
}发布于 2013-08-07 08:46:28
\r实际上是回车(它将光标移到行的开头)。
您的程序输出一个新行(\n),后面是"ab“,然后是backspace (\b) ( b) "si",所以现在屏幕上有"asi”。
\r将光标移至行首,然后输出"ha“,在屏幕上留下"hai”。
发布于 2013-08-07 08:47:20
第一个指令将在ab新行 (\n)上打印:
>ab第二个指令将在打印backspace (\b)之前生成si:
>asi然后,最后一个将在打印 (\r)之前进行ha:
>hai发布于 2013-08-07 08:46:54
首先printf将打印ab,然后\b将生成退格并打印si,因此您的最后打印将成为asi。
现在,\r将在开始时移动光标,并打印ha,它将替换前两个字符,并将最终字符串设置为hai(ha从最后一条语句开始,i从前面的结果)。
https://stackoverflow.com/questions/18098684
复制相似问题