This question already has answers here:
Escape sequences are producing unexpected output in C [duplicate]
(7个答案)
6年前关闭。
我有这两段代码:
对于第一个,输出为
结果输出只是
它显示
它显示
因此,它显示
2)
前两个步骤的解释相同。
在第三步中,您以
(7个答案)
6年前关闭。
我有这两段代码:
int main(void)
{
printf("\nab");
printf("\bsi");
printf("\rha");
return 0;
}
对于第一个,输出为
hai
。但是,如果我这样写:int main(void)
{
printf("\nab");
printf("\bsi");
printf("\rsha");
}
结果输出只是
sha
。这里发生了什么? (我也在使用gcc
) 最佳答案
1)
printf("\nab");
它显示
ab
printf("\bsi");
\b
删除最后一个字符(\b
=退格键)。然后添加si
它显示
asi
printf("\rha");
\r
返回到行的开头(\ r =回车)。然后打印ha
。因此,您删除了asi
的前2个字符因此,它显示
hai
2)
前两个步骤的解释相同。
在第三步中,您以
\r
返回到该行的开头并打印3个字符,从而删除了之前出现的3个字符。09-11 17:21